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

 
 
 
Reply to this topicStart new topic
pitt
сообщение Apr 3 2013, 02:04
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Разбираюсь с CAN на STM32F2xx. Научился поылать фреймы. Т.е. с большой долей уверенности могу утверждать, что инициализация модуля работает. Теперь то же самое, но с прерываниями. Разрешаю прерывание TMEIE в CAN_IER. выполняю
NVIC_EnableIRQ (CAN1_TX_IRQn); Посылаю фрейм, жду прерывания, а его нет! Биты TXOK0 и RQCP0 в CAN_TSR взведены. Смотрю в NVIC - прерывание там enable и pending, а в обработчик не заходит. Что не так?
Спасибо.

Сообщение отредактировал pitt - Apr 3 2013, 02:05


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 3 2013, 05:23
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Традиционные вопросы:
Глобально все прерывания разрешены?
Проект на С или С++?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
pitt
сообщение Apr 4 2013, 10:09
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(pitt @ Apr 2 2013, 22:04) *
Разбираюсь с CAN на STM32F2xx. Научился поылать фреймы. Т.е. с большой долей уверенности могу утверждать, что инициализация модуля работает. Теперь то же самое, но с прерываниями. Разрешаю прерывание TMEIE в CAN_IER. выполняю
NVIC_EnableIRQ (CAN1_TX_IRQn); Посылаю фрейм, жду прерывания, а его нет! Биты TXOK0 и RQCP0 в CAN_TSR взведены. Смотрю в NVIC - прерывание там enable и pending, а в обработчик не заходит. Что не так?
Спасибо.

Проблема была где-то в Keil IDE. Создал новый проект - все пошло.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 5 2013, 15:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



CAN1_TX_IRQn
это не единственное прерывание кана, это только от 1 буфера, есть еще и 0 (в проце 2 буфера). Надо обрабатывать оба прерывания!
Когда заполняется первый буфер данные приходят во второй. В какой они придут первыми хрен знает, недавно кто-то говорил что при дебуге у него данные сыпались в 1 буфер, а при работе в 0.

Go to the top of the page
 
+Quote Post
pitt
сообщение Apr 5 2013, 21:52
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(Golikov A. @ Apr 5 2013, 11:21) *
CAN1_TX_IRQn
это не единственное прерывание кана, это только от 1 буфера, есть еще и 0 (в проце 2 буфера). Надо обрабатывать оба прерывания!
Когда заполняется первый буфер данные приходят во второй. В какой они придут первыми хрен знает, недавно кто-то говорил что при дебуге у него данные сыпались в 1 буфер, а при работе в 0.

прерывание по передаче единственное. По приему, действительно, пара и так на каждый из двух ВОЗМОЖНЫХ модулей. Возможных, не значит обязательно использовать оба.
При приеме, тоже все не так сложно: фрейм прошедший через фильтр попадает в буфер(FIFO), назначенное этому фильтру. Если фрейм может пройти через 2 фильтра, настроенные на разные буфера, то он будет проходить через фильтр с меньшим порядковым номером и, соответственно, в ему, фильтру, приписанный буфер.
Моя проблема, как я описал выше, была в настройках IDE Keil - и хрен с ней, пока разбираться не приспичило.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 6 2013, 03:20
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну да.. эт я лажанулся, точно ТХ а не РХ... сорки...
Go to the top of the page
 
+Quote Post

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

 


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


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