Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: HI-TECH PICC 9.6 и прерывания
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
tarasik
Зимой без шапки и в кедах не ходил, а вот разобраться не могу. Ткните глупого носом...
Вопрос в следующем. Когда пишется программа на ассемблере с использованием прерываний, то все ясно, как божий день, располагаешь подпрограмму обработки прерывания по адресу 0x04 директивой ORG и все! Как аналогичное сделать на языке С, в компиляторе HI-TECH? Смотрел папку Samples компилятора (проект InterruptDemo, файл intr.c), все равно ничего не понял. Каким всетаки образом компилятор вызывает именно подпрограмму обработки прерывания, а не какую нибудь другую? Может ее нужно называть как то по хитрому?
P.S. хочу переписать свой проект с ассемблера на С и вот незадача.... За ранее спасибо.
Baser
В HTPICC 8.05 было:
void interrupt isr(void) или void __interrupt isr(void)
поменяли они в новой версии ключевое слово или нет - не знаю.
А смотреть для начала нужно не samples, а HTPICC Manual, и в частности главу
5.11 Interrupt Handling in C
evc
В 9.60 тоже самое. Нужно использовать слово "interrupt" для функции обработки высокоприоритетных прерывании, и "interrupt low_priority" для низкоприоритетных, если конечно реч идет о PICC-18 и пользуете функцию приоритетов. Если нет - только "interrupt" перед имя функции.

Цитата(Baser @ Apr 21 2008, 00:43) *
...А смотреть для начала нужно не samples, а HTPICC Manual, и в частности главу
5.11 Interrupt Handling in C


+1, только номер главы - 3.9. smile.gif
tarasik
Спасибо, все оказалось так просто:
Цитата(evc @ Apr 21 2008, 09:33) *
Нужно использовать слово "interrupt"
Действительно на 61 странице в главе 3.10 все это четко расписано...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.