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

 
 
> CAN...не понятно((((, как начинается передача?
lons83
сообщение Nov 26 2012, 10:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Простите если глупый вопрос...
Но что-то уже пол-дня не разобраться...

В какой момент микроконтроллер (at90can128) начинает передачу данных (Отправляет данные из Moba настроенного на передачу)???
в USART все просто UDR0=0x01 и передача начилась....
А вот в CAN'е не понятно))))
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
PheeL
сообщение Nov 27 2012, 08:20
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 24-11-07
Пользователь №: 32 633



Это код как раз для AT90CAN128 на передачу данных в настроенный канал(в данном случае первый). Вас непосредственно интересуют две последние строчки.
CODE

CANPAGE = (1 << 4);
CANIDT2 = (U8)(msg_id << 5);
CANIDT1 = (U8)(msg_id >> 3);
CANCDMOB = size;
if (NULL != data_p) {
if (DLC_MAX >= size) {
while (size--) {
CANMSG = *data_p++;
}
} else {
D_LOG_MDL(D_LOG_WARNING, "data overflow!");
return ERR_OVERFLOW;
}
}

CANSTMOB = 0;
while (HAL_BIT_CHECK(CANGSTA, TXBSY));
CANEN2 |= (1 << 1); /* channel 1 enable */
CANCDMOB |= CH_TxENA; /* emission enabled */


--------------------
Если друг оказался вдруг и не друг и не враг, а - JTAG.
Go to the top of the page
 
+Quote Post
lons83
сообщение Nov 27 2012, 08:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(PheeL @ Nov 27 2012, 11:20) *
Это код как раз для AT90CAN128 на передачу данных в настроенный канал(в данном случае первый). Вас непосредственно интересуют две последние строчки.
CODE

CANEN2 |= (1 << 1); /* channel 1 enable */
CANCDMOB |= CH_TxENA; /* emission enabled */


Спасибо большое)))
а в регистр CANEN2 разве можно записывать? у меня в документации сказано что только Read.
и CH_TxENA это аналог 1<<CONMOB0 ?

Сообщение отредактировал lons83 - Nov 27 2012, 08:25
Go to the top of the page
 
+Quote Post
PheeL
сообщение Nov 27 2012, 08:38
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 24-11-07
Пользователь №: 32 633



Цитата(lons83 @ Nov 27 2012, 12:21) *
Спасибо большое)))
а в регистр CANEN2 разве можно записывать? у меня в документации сказано что только Read.

Да, действительно, он только Read. Значит эту команду можно игнорировать. Код частично достался в наследство, я не сильно вчитывался )
Цитата(lons83 @ Nov 27 2012, 12:21) *
и CH_TxENA это аналог 1<<CONMOB0 ?

Прошу прощения, забыл #define указать.
#define CH_TxENA 0x40


--------------------
Если друг оказался вдруг и не друг и не враг, а - JTAG.
Go to the top of the page
 
+Quote Post
lons83
сообщение Nov 27 2012, 09:13
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(PheeL @ Nov 27 2012, 11:38) *
Да, действительно, он только Read. Значит эту команду можно игнорировать. Код частично достался в наследство, я не сильно вчитывался )

Прошу прощения, забыл #define указать.
#define CH_TxENA 0x40


В целом разобрался. остался только такой момент. может сможете подсказать.

передаю MOB0 (с индефикатором = 0 то есть наивысший приоритет) 1 байт.
но идет бесконечная передача одного байта.
это что то в настройках?
или нужно отключать передачу?
и чтобы закончить передачу нужно MOB запретить или на прием настроить?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lons83   CAN...не понятно((((   Nov 26 2012, 10:10
- - редактор   Вариантов реализации CAN-контроллера много. Но все...   Nov 26 2012, 12:09
|- - lons83   Цитата(редактор @ Nov 26 2012, 15:09) Вар...   Nov 26 2012, 17:27
|- - Dog Pawlowa   Цитата(lons83 @ Nov 26 2012, 20:27) все н...   Nov 26 2012, 19:25
|- - lons83   Цитата(Dog Pawlowa @ Nov 26 2012, 23:25) ...   Nov 26 2012, 19:46
|- - Dog Pawlowa   Само по себе заполнение данными не вызывает переда...   Nov 27 2012, 04:22
|- - lons83   Цитата(Dog Pawlowa @ Nov 27 2012, 07:22) ...   Nov 27 2012, 04:53
- - Dog Pawlowa   Цитата(lons83 @ Nov 26 2012, 13:10) А вот...   Nov 26 2012, 12:31
|- - PheeL   Цитата(lons83 @ Nov 27 2012, 13:13) перед...   Nov 27 2012, 09:37
|- - lons83   Цитата(PheeL @ Nov 27 2012, 12:37) Не уве...   Nov 27 2012, 09:48
|- - PheeL   Цитата(lons83 @ Nov 27 2012, 13:48) Всем ...   Nov 27 2012, 10:25
- - редактор   С вероятностью 99% что у вас на шине CAN нет друго...   Nov 28 2012, 07:49
- - lons83   C передачей вроде разобрался. Но беспокоит момент...   Dec 3 2012, 07:20
- - Vlad1977   Подскажите плииз, кто с CAN-ом разбирался, 2ой дек...   Feb 26 2013, 09:21
- - Vlad1977   Разобрался с соединением опторазвязка сделана, пос...   Feb 26 2013, 12:52
- - Vlad1977   Может у кого естьобработчик ошибок от CAN, в интер...   Feb 27 2013, 08:41
- - Vlad1977   Люди есь кто живой? Что может быть такое, на подтв...   Feb 28 2013, 05:22
- - =GM=   Цитата(PheeL @ Nov 27 2012, 09:25) Ещё лу...   May 23 2013, 10:18


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

 


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


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