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

 
 
 
Reply to this topicStart new topic
> AT90CAN128. Отправка пакета в сеть CAN., нужна помощь
Alexeus
сообщение Feb 28 2009, 18:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Alexeus
сообщение Mar 13 2009, 14:30
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 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


что не так?

Не отправляет...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 13 2009, 15:08
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Alexeus @ Mar 13 2009, 18:30) *
Не отправляет...

Почитайте здесь на форуме CAN-bus.
Там есть подобные крики о помощи человека, который ничего к контроллеру не подключил, и ждал отправки сообщений.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Alexeus
сообщение Mar 13 2009, 15:23
Сообщение #4


Участник
*

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



у меня немного другая ситуация, к контроллеру подключен USB-CAN адаптер и пользую прогу CANHACKER. Практически тот же код на Си (даже не знаю в чем разница, вроде все так же перевел на асм) работает и шлет пакет.
Go to the top of the page
 
+Quote Post
Alexeus
сообщение Mar 14 2009, 15:26
Сообщение #5


Участник
*

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



а как настроить таймер, что бы периодично в 100мс отправлял моб?

прописал CANTCON=0x63; в инициализации КАН и в самом мобе, вызываю инициализацию моба один раз, по идее теперь этот моб должен автоматически повторяться с периодом 100мс, а он не повторяется, так один раз и отправляет...
Go to the top of the page
 
+Quote Post
galjoen
сообщение Mar 14 2009, 16:33
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Alexeus @ Mar 14 2009, 18:26) *
а как настроить таймер, что бы периодично в 100мс отправлял моб?

прописал CANTCON=0x63; в инициализации КАН и в самом мобе, вызываю инициализацию моба один раз, по идее теперь этот моб должен автоматически повторяться с периодом 100мс, а он не повторяется, так один раз и отправляет...

Всё работает так, как и д.б. Таймер не имеет никакого отношения к периоду отправки. Перечтите ДШ. Тут где-то даже ссылка пробегала на русский перевод (хороший).
Go to the top of the page
 
+Quote Post
Alexeus
сообщение Mar 15 2009, 11:52
Сообщение #7


Участник
*

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



А как вообще нужно подключать can адаптер к шине? там есть Vcc, Gnd, CanL, CanH. Нужно Vcc заводить или достаточно CanL, CanH, Gnd?
Go to the top of the page
 
+Quote Post
vseqwe
сообщение Jun 29 2010, 10:10
Сообщение #8





Группа: Новичок
Сообщений: 1
Регистрация: 24-06-10
Пользователь №: 58 117



Цитата(Alexeus @ Mar 15 2009, 15:52) *
А как вообще нужно подключать can адаптер к шине? там есть Vcc, Gnd, CanL, CanH. Нужно Vcc заводить или достаточно CanL, CanH, Gnd?


Достаточно CanL, CanH, Gnd
Go to the top of the page
 
+Quote Post

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

 


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


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