bobyk
|
|
1 | |
Потеря CAN пакетов15.02.2013, 01:01. Показов 3494. Ответов 1
Метки нет (Все метки)
Добрый день.
У меня есть STM32F4 подключенный к линуксу по шине CAN. Линукс посылает команды а stm их выполняет. Также линукс постоянно запрашивает данные через CAN_RTR_Remote. Заметил неприятную вещь - небольшая часть пакетов, где то один из ста не доходят до stm-а. Причем в линуксе смотрю статистику интерфейса ни одной ошибки нет. На stm - пакеты обрабатываются в цикле: Код
void canDyspotsh() { if (CAN_MessagePending(CAN1, CAN_FIFO0) < 1) { return; } CanRxMsg rxMessage; CAN_Receive(CAN1, CAN_FIFO0, &rxMessage); ... P.S. на stm - е сделал вроде отладочного эха, чтобы пакеты передавались назад при получении, а в линуксе писались в лог. И действительно видно, что небольшая часть пакетов где то теряются. |
15.02.2013, 01:01 | |
Ответы с готовыми решениями:
1
Потеря пакетов (части пакета) USB CDC Потеря 50% пакетов через роутер и отброс пакетов Потеря пакетов Wi-fi Потеря пакетов Потеря пакетов |
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
15.02.2013, 22:20 | 2 |
Сообщение от bobyk
2. Можно разделить приём пакетов по id на 2 буфера FIFO.
0
|
15.02.2013, 22:20 | |
15.02.2013, 22:20 | |
Помогаю со студенческими работами здесь
2
Потеря пакетов Потеря пакетов Потеря пакетов Потеря пакетов Потеря пакетов Потеря пакетов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |