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

 
 
> Прерывания CAN (AVR-CodeVision)
Simok
сообщение Jan 29 2009, 21:09
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 29-01-09
Из: Moscow
Пользователь №: 44 153



Проясните ситуацию, для чего нужны прерывания CAN ( interrupt [CAN_IT] void can_isr(void) ), если команды на получения все равно приходится вставлять в while(). Мне нужно, чтобы во время работы основной программы, если приходят нужные сообщения, то паралельно выполнилось бы какое то условие, но чтобы я постоянно везде в коде не вставлял функцию на считывание ящиков, а пока приходится именно так и делать, но смысла тогда нет в прерывании, если с помощью масок и фильтрации я и так могу все сверить и сравнить. Т.е. по сути все одинаково. А я себе представлял прерывние, это когда например пришло сообщение в процессе основной работы, выполнился нужный код и продолжает все дальше работать, а еще удобнее, если это все паралельно работает. Я попытался запихнуть функцию чтения ящиков в отдельный таймер, а это был бы идеальный вариант, вроде работает, но к сожалению в какое то неопределенное недолгое время, камень зависает, если в основной программе идет частая паралельная отправка пакетов .
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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