реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> HI-TECH PICC 9.6 и прерывания
tarasik
сообщение Apr 20 2008, 20:21
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 9-04-08
Пользователь №: 36 618



Зимой без шапки и в кедах не ходил, а вот разобраться не могу. Ткните глупого носом...
Вопрос в следующем. Когда пишется программа на ассемблере с использованием прерываний, то все ясно, как божий день, располагаешь подпрограмму обработки прерывания по адресу 0x04 директивой ORG и все! Как аналогичное сделать на языке С, в компиляторе HI-TECH? Смотрел папку Samples компилятора (проект InterruptDemo, файл intr.c), все равно ничего не понял. Каким всетаки образом компилятор вызывает именно подпрограмму обработки прерывания, а не какую нибудь другую? Может ее нужно называть как то по хитрому?
P.S. хочу переписать свой проект с ассемблера на С и вот незадача.... За ранее спасибо.
Go to the top of the page
 
+Quote Post
Baser
сообщение Apr 20 2008, 20:43
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



В HTPICC 8.05 было:
void interrupt isr(void) или void __interrupt isr(void)
поменяли они в новой версии ключевое слово или нет - не знаю.
А смотреть для начала нужно не samples, а HTPICC Manual, и в частности главу
5.11 Interrupt Handling in C
Go to the top of the page
 
+Quote Post
evc
сообщение Apr 21 2008, 06:33
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266



В 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


--------------------
УЭР
Go to the top of the page
 
+Quote Post
tarasik
сообщение Apr 21 2008, 12:47
Сообщение #4





Группа: Новичок
Сообщений: 8
Регистрация: 9-04-08
Пользователь №: 36 618



Спасибо, все оказалось так просто:
Цитата(evc @ Apr 21 2008, 09:33) *
Нужно использовать слово "interrupt"
Действительно на 61 странице в главе 3.10 все это четко расписано...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01394 секунд с 7
ELECTRONIX ©2004-2016