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

 
 
> Прерывания в 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 3 2010, 04:49
Сообщение #5


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

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



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


Вот как раз его то и не устанавливал. Просто в мануале написано что он активизирует периферийные прерывания. Но не понятно относится ли таймер к ним. Таймер 0 работает и без этрго бита.
Go to the top of the page
 
+Quote Post
Herz
сообщение Mar 3 2010, 07:49
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(musa @ Mar 3 2010, 06:49) *
Вот как раз его то и не устанавливал. Просто в мануале написано что он активизирует периферийные прерывания. Но не понятно относится ли таймер к ним. Таймер 0 работает и без этрго бита.

Как это не понятно? А если посмотреть?

[attachment=41424:Clipboard01.jpg]
Go to the top of the page
 
+Quote Post



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

 


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


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