Свежие обсуждения
Микроконтроллеры

Ликбез по С для микроконтроллеров PIC

1 56 64

Vladikas: Читаю про калибровочную константу, пока ничего не понимаю или скорее
А Вы на CCS пишите как я понял? Калибровочная константа зачем Вам нужна? В смысле она сбилась и Вы хотите ее исправить? Проблемы я так и не понял. Честно говоря, на предыдущей странице невозможно было что-то понять и вообще невыносимо - такую "здоровенную дуру" в виде кода зачем-то там запостили(и еще как я посмотрел на Паскале(!) вроде, но неважно), что не понял Вашей проблемы.

 

Дура не моя была , я постил пустышки чтоб новая страница началась. Проблема была в том, что в протеусе не работал проект, который там выложен.
В заблуждение ввела фраза:
poruchik: "В протеусе и "вживую" если калибровочной костанты нет и вы считываете константу то пик уходит в даун."
Хотя я и не считывал константу, но разобрался в смысле этого всего только вчера поздно вечером. Прект не работал из-за неподключенного mclr.

Удалось прочитать с моего МК прошивку не выпаивая с платы, бит защиты стоит, но это не помешало считать калибровочную константу. Так что вопрос вроде как снят.

Кстати, как в CCS считать эту константу и записать по 90 адресу?

 

Vladikas: В заблуждение ввела фраза:
Эт не моя фраза, а dosikusa... из темы про константу...

 

Злодеи оба

Vladikas: Кстати, как в CCS считать эту константу и записать по 90 адресу?
На асме элементарно, как на си?... Всё ещё не понимаю.

 

Vladikas: Злодеи оба
Интересно , а причем здесь моя фраза ?
Если неправильно применяешь знания то это твои проблемы .
Если пик у тебя работает без калибровочной константы , значит у тебя нет считывания ее.
Call 0x3ff
В CCS есть как прописать принудительно константу , я писал в той же ветке про константу...

 

В моем посте смайлик, угу? Одно дело прописать константу в последнюю ячейку, если её там нет, а другое считать её в программе в 90 адрес, если она там есть. Вроде как по разному это делается. Или я не прав?

 

Vladikas: В моем посте смайлик, угу? Одно дело прописать константу в последнюю ячейку, если её там нет, а другое считать её в программе в 90 адрес, если она там есть. Вроде как по разному это делается. Или я не прав?
Скажи мне - зачем пишут справку к программе ?
setup_oscillator( )

И вообще то 90 адрес имеет название OSCCAL.
Но если вы любите трудности...

 

Всем привет, вот подключил все работает, светодиодик мигает, теперь задача - как сделать прерывание на Си для компилятора PICC HITech?
Еще вопрос, возможно ли реализовать обработку прерываний для любого контакта?

 

electric: теперь задача - как сделать прерывание на Си для компилятора PICC HITech?
Еще вопрос, возможно ли реализовать обработку прерываний для любого контакта?

Возьмите за правило чтение мануалов.

An example of a high-priority (default) interrupt function is shown here.
Interrupt Handling in C
HI-TECH PICC-18 compiler

long tick_count;
void interrupt tc_int(void)
{
++tick_count;
}
A low-priority interrupt function may be defined as in the following example.
void interrupt low_priority tc_clr(void)
{
tick_count = 0;
}

А возможности прерываний вашего контроллера - в даташите на контроллер. Сразу отвечая на ваш вопрос - нет. На пиках прерывание по изменению (кроме входов int как таковых) доступно только для PORTB, и то, одно на весь порт. А что именно там изменилось определяется программно.

 

Спасибо, щас будем пробывать