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

 
 
> AT90CAN128 конфигурирование mob на прием?, CAN протокол
Alexeus
сообщение Feb 26 2010, 11:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 14-01-09
Пользователь №: 43 345



Контроллер AT90CAN128, cреда программирования CvAVR.
CAN инициализировал, мобы на отправку тоже. Сообщения отправляются.

Уперся в прием кадра:
В сеть другим устройством кидается кадр с id 401 и длиной 1 байт, мне нужно его принять.
Пытаюсь сконфигурировать моб7 на прием конкретного кадра с id 401. Что то не получается принять данные... Я правильно конфигурирую сам моб?
Пожалуйста прочтите каменты после строк кода и ответьте если в курсе...


CANPAGE = 0x78; //выбор моб7 автоинкремент буфера данных отключен
// вопрос. если автоинкремент отключен, то как читать/писать canmsg с индексом байта, так? canmsg[0]... canmsg[7]

CANCDMOB = 0;
//вводим моб в неопределенное состояние (прием/передача не определены) -думаю это не обязательно

CANIDT1 = 0x32; //задаем TAG: id "401"
CANIDT2 = 0x20; //...
//сдесь задаем именно этот id -401

CANIDM1 = 0xFF; //задаем mask "111 1111 1111" прием/передача только одного id
CANIDM2 = 0xE0; //...
//тут по-идее маска, что прием будет конкретного id, а зачем??? если мы уже указали в TAGe, что ждем id 401 и другие будут отсеиваться...

CANSTMOB=0; // очистим ош-ки и прерывания данного моба
CANCDMOB = 0b10000001; //Разрешаем прием кадров в этот моб, без ответа, CAN2.0A, ожидаемая длина сообщения 1байт

все, считаем что моб7 сконфигурирован на прием, затем по проверке флага на успешный прием будем обрабатывать сообщение или уходить дальше в программу...

Сообщение отредактировал Alexeus - Feb 26 2010, 11:34
Go to the top of the page
 
+Quote Post



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

 


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


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