Edit2007 3 28 ноября, 2012 Опубликовано 28 ноября, 2012 · Жалоба С вероятностью 99% что у вас на шине CAN нет другого устройства. Поэтому, как правильно заметил Pheel, контроллер передает сообщение до получения подтверждения. Скорее всего в слове статуса у вас стоит соответствующий флаг. Эта ошибка (отсутствие подтверждения) должна определяться CAN-контроллером. После подключения второго CAN-устройства (не забудте про терминаторы), сообщение должно отправляться 1 раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lons83 0 3 декабря, 2012 Опубликовано 3 декабря, 2012 · Жалоба C передачей вроде разобрался. Но беспокоит момент с прерываниями: ISR(CANIT_vect) { PORTC|=(1<<PC4); // зажигаю лампочку } настройка прерываний CANGIT=0x00; CANGIE=0xFE; CANIE1=0xFF; CANIE2=0xFF; sei(); -------------------------------------------- так вот... в функцию ISR - попадаю не всегда... через раз или через два а может и реже. 1.что может быть не так? 2. в библиотеке atmel пишет. #define CANIT_vect_num 18 #define CANIT_vect _VECTOR(18) #define SIG_CAN_INTERRUPT1 _VECTOR(18) для чего тогда остальные варианты когда я подставляю CANIT_vect ?? 3. в даташите вектор прерывания по шине у at90can128 -- имеет номер 19 здесь же -- 18 ..??? не понятно((( заранее спасибо))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad1977 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Подскажите плииз, кто с CAN-ом разбирался, 2ой декнь туплю сижу :(. Для начала хочется увидеть передачу на шине, те на ножке TXCAN свою посылку. Частота настроена, начинаю передавать. Вижу импульсы на TX и каким то боком на RX, это разве нормально? Меняю значения адреса в посылке CANIDT2 и CANIDT1 ничего схожего почему то на осцилографе не вижу? Подключать второй контроллер пока с передачей первого не рахзобрался как то особо не хочется. В прерывание попадаю с флагами CANSTMOB (BERR и SERR), после несокльких неудачных передач, я так понимаю потому что АСК не получена, шина входит в BOFF, это так и должно быть? Пробовал подключить второй контроллер ничгео не именилось, те передача не проходит, АСК не возвращается ( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad1977 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Разобрался с соединением опторазвязка сделана, поставил резистор 120Ом и заработала, хотя фронты все равно завалины идут. Скорость стоит на 8Мгц 500Kbps. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad1977 0 27 февраля, 2013 Опубликовано 27 февраля, 2013 · Жалоба Может у кого естьобработчик ошибок от CAN, в интернете много всякой информации, но как конкретно надо обрабаотывать ошибки представление как то не сложилось :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad1977 0 28 февраля, 2013 Опубликовано 28 февраля, 2013 · Жалоба Люди есь кто живой? Что может быть такое, на подтверждение отправки приходит TXOK, на приемной стороне тоже все получается, только почему то при чтении регистра CANMSG, там одни нули записаны :(. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 23 мая, 2013 Опубликовано 23 мая, 2013 · Жалоба Ещё лучше, если существует финансовая возможность приобретения CAN-сниффера, который позволяет мониторить состояние и обмен по шине. Поищите в интернете, есть много вариантов. Не надо сниффера. В AT90CAN32 есть возможность аппаратно подключить внутренний передатчик на внутренний приёмник, только почтовые ящики правильно настроить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться