Описываю подробнее. Программируется устройство на dsPIC33. Устройство должно обмениваться по CAN интерфейсу. За основу написания программы был взят пример с сайта Microchip CE227,CE228,CE229 и CE427,CE428,CE429. По приему вопросов вообще нет, работает как часы. А вот когда начинаешь передавать с помощью функции из примера {имяфункции(буфер DMA,слово1,слово2,слово3,слово4, количество байт)}, начинается полный трешь. Такая ситуация слово1=0x0f1f. Передаю 2 байта . CAN сходит с ума. Слово1=0x3f1f CAN работает нормально. Слово1=0x4f1f CAN сходит с ума. Слово1=0x5f1f CAN работает норм. Под сходит с ума я имел в виду, что CAN начинает бесконечное количество раз передавать эти 2 байта. При это ни каких ошибок не возникает. Терминал в компе покорно все принимает. Как с этим бороться дайте хоть какой-нибудь совет а то уже неделю на это угробил.
Сообщение отредактировал ZEbr - Jun 20 2017, 08:17
|