Я получаю сообщения от интерфейса CAN в моем устройстве mBed. Затем устройство mBed анализирует информацию для отправки по последовательному каналу на другое устройство. Информация отправляется в следующем формате.MBed/Arduino RS-232 Проблема с последовательной связью
«< msg> xxxxxxxxxxxxxxxxxxx </msg>" где x = шестнадцатеричное число.
Другое устройство, получающее это сообщение, получит информацию, разделенную пополам (я учёл это в коде). Проблема у меня есть, сообщения будут попадать в формат ..... но бывают случаи, когда теряется формат, например:
[1]xxxx< /msg>< msg>xxxxx
[2]xxxxxxxx< msg>xxxxxxx
[3]< /msg>< msg>xxxxxxxxx
[4]xxx< /msg>< msg>xxxxxx
**Please ignore the space in the msg tag, it was necessary to show on StackOverflow'**
установленную скорость передачи данных 38400bps на mBed. Я не использую никакой четности, стоп-бит, начальный бит и т. Д., Поскольку я не слишком хорошо знаком с тем, как они работают. Может ли кто-нибудь помочь мне, как я могу исправить эту потерю в формате, или мне придется включить код в принимающее устройство, чтобы справиться с этим?
Большое спасибо заранее!
Вы пытались уменьшить скорость передачи данных, я думаю, что может случиться так, что ваш ресивер не сможет обработать достаточно быстро, и эта проблема возникает из-за локальной буферизации, используемой в последовательном устройстве. В противном случае вам, возможно, придется писать простой маркер начала и конца вдоль длины сообщения, чтобы правильно принимать его на стороне приемника. – praks411
Можете ли вы объяснить мне, что уменьшает скорость передачи в бодах, насколько я знаю, это просто уменьшает количество бит, передаваемых в секунду. –
* «Я не использую никакой четности, стоп-бит, начальный бит и т. Д., Так как я не слишком хорошо знаком с тем, как они работают». * - Затем вы должны узнать, как они работают, а затем соответствующим образом настроить последовательный порт. Эти атрибуты не являются необязательными параметрами; они необходимы для правильной конфигурации. Если вы не хотите надежной последовательной связи. Проблема, которую вы вызываете, называется потерей кадра сообщения. – sawdust