|
|
  |
AT90CAN128. Отправка пакета в сеть CAN., нужна помощь |
|
|
|
Feb 28 2009, 18:27
|
Участник

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

|
Сам я начинающий, много вопросов. Даташиты читаю, но сразу врубиться сложно... Помогите кто в теме. ------------ Мне нужно хотя бы для примера послать один пакет в сеть КАН. Можете помочь написать код начиная с инициализации? (на ассемблере) стандартный 11бит идентиф.
Нужно: Mob0, id=28F, Data=C0 03 C0 18 40 00 00 00 ------------ Еще вопрос: При создании проекта в CvAVR с инициализацией КАН, предлагается менять много параметров, и к желаемой скорости в 250Kbps могут вести различные комбинации. Если программа отмечает что данные параметры верны для скорости 250кбпс, то я смогу работать с этими настройками в любой сети КАН с такой же скоростью или нужно знать такие же параметры той сети, с которой собираюсь работать?
Сообщение отредактировал Alexeus - Feb 28 2009, 18:54
|
|
|
|
|
Mar 13 2009, 14:30
|
Участник

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

|
Код can_send:
ldi temp,0x00 sts CANPAGE,temp; //mob0 с автоинкрементом
ldi temp,0b00001000 sts CANCDMOB,temp; //8 байт в сообщении, передача разрешена, 2.0A
ldi temp,0x00 sts CANSTMOB,temp; // очистим ош-ки и прерывания
ldi temp,0x51 sts CANIDT1,temp; //
ldi temp,0xE0 sts CANIDT2,temp; //
ldi temp,0xFE sts CANIDM1,temp;
ldi temp,0xE0 sts CANIDM2,temp;
ldi temp,0 sts CANIDT4,temp ldi temp,0x02 sts CANIDM4,temp
//=== вкладываем байты данных ===
ldi temp,0 ldi counter,6 data: inc temp sts CANMSG,temp; //clear data dec counter brne data
//===============================
ldi temp,0xFF sts CANSTMOB,temp; // очистим ош-ки и прерывания ldi temp,0b01001000 sts CANCDMOB,temp; //8 байт в сообщении, передача разрешена, 2.0A nop nop reti что не так? Не отправляет...
|
|
|
|
|
Mar 13 2009, 15:23
|
Участник

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

|
у меня немного другая ситуация, к контроллеру подключен USB-CAN адаптер и пользую прогу CANHACKER. Практически тот же код на Си (даже не знаю в чем разница, вроде все так же перевел на асм) работает и шлет пакет.
|
|
|
|
|
Mar 14 2009, 15:26
|
Участник

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

|
а как настроить таймер, что бы периодично в 100мс отправлял моб?
прописал CANTCON=0x63; в инициализации КАН и в самом мобе, вызываю инициализацию моба один раз, по идее теперь этот моб должен автоматически повторяться с периодом 100мс, а он не повторяется, так один раз и отправляет...
|
|
|
|
|
Mar 15 2009, 11:52
|
Участник

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

|
А как вообще нужно подключать can адаптер к шине? там есть Vcc, Gnd, CanL, CanH. Нужно Vcc заводить или достаточно CanL, CanH, Gnd?
|
|
|
|
|
Jun 29 2010, 10:10
|
Группа: Новичок
Сообщений: 1
Регистрация: 24-06-10
Пользователь №: 58 117

|
Цитата(Alexeus @ Mar 15 2009, 15:52)  А как вообще нужно подключать can адаптер к шине? там есть Vcc, Gnd, CanL, CanH. Нужно Vcc заводить или достаточно CanL, CanH, Gnd? Достаточно CanL, CanH, Gnd
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|