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

 
 
> Прерывания в HT PICC 18
musa
сообщение Feb 20 2010, 09:41
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 033
Регистрация: 26-02-07
Из: Москва
Пользователь №: 25 668



Помогите начинающему. Как правильно описать приоритеты прерываний в программе на С.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
volodya
сообщение Feb 24 2010, 05:57
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 194
Регистрация: 14-02-07
Из: УКРАИНА
Пользователь №: 25 344



Сразу оговорюсь-давно не использовал PICC18 в новых версиях PRO может интерпретироваться иначе.
Объявляется обработчик с идентификатором void interrupt и low_priority (если есть).
В обработчике после проверки флагов вызывается обработчик ф-ции для соотв. флага.
Если присутствует вызов ф-ции из обработчика и main части вываливается ERROR №ххх , поскольку при вызове функции в обработчике прерывания и одновременно в main цикле возможны конфликты и ошибки.
Для разрешения конфликтов исп. #pragma interrupt_level х , при этом (чесно не вспомню) или сохраняются лок. переменные ф-ции main части(в обработчике) или всавляется запрет прерывания в main.
В мануале есть описание и примеры приложены к PICC18.
Попробуйте посмотреть дизасмемблером. Удачи!!!


--------------------
"Для того чтобы избежать критики, надо ничего не делать, ничего не говорить и никем не быть"
"Каждый из нас бывает дураком по крайней мере пять минут в день; мудрость заключается в том, чтобы не превысить лимит." Элберт Хаббард
Go to the top of the page
 
+Quote Post
musa
сообщение Mar 2 2010, 17:16
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 033
Регистрация: 26-02-07
Из: Москва
Пользователь №: 25 668



Столкнулся с ещё одной проблемой. В PIC18F4585 упорно не хочет работать прерывание по переполнению 1-го таймера. С таймером 0 нет проблем. В чём нюанс.
Go to the top of the page
 
+Quote Post
HHIMERA
сообщение Mar 2 2010, 21:23
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 226
Регистрация: 10-07-09
Пользователь №: 51 126



Цитата(musa @ Mar 2 2010, 20:16) *
Столкнулся с ещё одной проблемой. В PIC18F4585 упорно не хочет работать прерывание по переполнению 1-го таймера. С таймером 0 нет проблем. В чём нюанс.


А Peripheral Interrupt Enable bit установлен???

Сообщение отредактировал HHIMERA - Mar 2 2010, 21:24
Go to the top of the page
 
+Quote Post
musa
сообщение Mar 7 2010, 12:15
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 033
Регистрация: 26-02-07
Из: Москва
Пользователь №: 25 668



Цитата(HHIMERA @ Mar 3 2010, 00:23) *
А Peripheral Interrupt Enable bit установлен???


Чтото тоже не помогло. Без прерывания таймер1 работает (Простенькая программа моргание светодиодом). Как только пытаешься сделать это через прерывание, не работает. Гдето туплю, не пойму где.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 03:48
Рейтинг@Mail.ru


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