Приём по CAN идущих подряд сообщений

271
26 июня 2017, 20:03

Добрый день, столкнулся со следующей проблемой: при приёме по CAN нескольких идущих подряд сообщений, часть из них теряется. Идея системы: есть некое головное устройство, в данном случае это RPi 3, подключённый к CAN через модуль MCP2515. Также есть исполнительные устройства, в данном случае это STM32F767ZIT, также подключенные к CAN. Для опроса исполнительных устройств, головное устройство посылает в CAN общую команду, а исполнительные сразу же на него отвечают. Условный номер исполнительного устройства "вшит" в индификатор ответного сообщения, благодаря чему ответные сообщения пересылаются по шине по очереди согласно протоколу СAN. Анализатором проверяю шину, всё так, как и задумано. Но вот головное устройство не успевает, похоже что, принять все ответные сообщения. Поскольку вместо ответных сигналов от, скажем, первого, пятого и седьмого устройства, оно получает лишь от первого и седьмого. А во время следующего цикла проверки от пятого и седьмого. Так в чём же дело? Буфер MCP2515 переполняется? Или библиотека CAN для RPi кривая? В этом случае хотелось бы узнать ваше мнение по поводу наиболее подходящей библиотеки CAN для RPi на c++ или си. Данная проблема не зависит от скорости передачи по CAN, наблюдал её как при 125 кб/с так и при 500 кб/с. Думал задержку поставить в исполнительных устройствах при отправлении ответного сигнала, но это бессмысленно, поскольку возможна ситуация когда приходится им отправлять и "неответные" сигналы и опять создать очередь из нескольких сообщений. Заранее спасибо.

READ ALSO
Точки, многопоточность

Точки, многопоточность

Суть заданния, нужно найти точку которая ближе к началу (0,0) находится , делать используя многопоточностьЯ создаю функции для решения задания:

192
Не вызывается деструктор у класса

Не вызывается деструктор у класса

Доброго времени сутокИмеется класс, который изменяет кодировку консоли

200
Вопрос на собеседовании про движок для карт [требует правки]

Вопрос на собеседовании про движок для карт [требует правки]

На собеседовании меня спросили про опыт работы программистом в авиационной сфереЯ сказал, что написал на Qt (С++) программу расчета траектории...

191
Drupal 7, JQuery и flexslider

Drupal 7, JQuery и flexslider

Главная проблема - не работает flexslider - поставил JQuery update, как советуют, но это не помогает

329