Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91SAM7X и CAN
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
bookevg
Законнектил SAM7X128 и проц другой фирмы по CAN - работает прием и передача.
Начал коннектить два проца: SAM7X128 и SAM7X256 по CAN.
Возникли проблемы: SAM7X128 передает SAM7X256 принимает, есть подтверждение, но вот только длина принятого сообщения равна нуля, хотя по отсылается 3 байта - видно как в отладчике, так и на осциллографе - в чем проблема? Поделитесь опытом.
Да и вот еще не смог решить проблему: если на SAM7X запустить только одну передачу, на которую не будет подтверждение, то отмена передачи не работает, не помогает даже отключение маилбокса, помогает только отключение всего CAN - как то несерьезно для атмела - или я в чем то неправ?
Заранее большое спасибо!
etoja
Для Атмела это типично.
bookevg
Проблема была в следующем: в программе при возникновении ошибки по отсутствию подтверждения - запускалось прерывание, которое выставляло команду на аборт передачи, но CAN SAM7X продолжал бомбить линию посылками, только он ограничил посылка - вместо заданной длины данных передавал ноль, а данные отсутствовали - если позже появлялось устройство, которому была предназначена посылка, то оно принимало это сообщение. Затем в программе с некоторой периодичностью поступали новые данные.
Главное что надо сделать: перед тем как вновь отправить данные по маилбоксу, по которому была прервана передача - это зановоно проинициализировать весь маилбокс
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.