Переполнение стека !
У меня проблема с коммуникацией RS-422 внутри каждого устройства в многоточечной среде. И я тоже пытался решить эту проблему. К сожалению, ЭТО НЕ МОЖЕТ РЕШИТЬСЯ НА ОДНОМ ГОДУ!
Итак, наконец, здесь, чтобы попросить вас, ребята, помочь.
Рабочая поверхность
Мы используем один и тот же исходный код Model-A и Model-B (Сборщик данных). Однако, поскольку Модель-А устарела, Мы должны сами изготовить аппаратное обеспечение для Модели-Б. В результате у Model-A и Model-B разные аппаратные средства.
Model-B работала очень хорошо в течение одного или двух лет.
В настоящее время Model-A все еще работаетработает нормально. Но в Model-B есть странные ошибки. Мы думаем, что это проблемы с оборудованием RS-422. И мы не можем точно определить, почему они вызвали.
Проблемы, которые мы обнаружили:
- Модель-B не смогла найти устройство, подключенное. (Однако это часто решается путем отключения вручную первого устройства или второго устройства.)
- Прием потоков данных с первого и второго устройства меняются местами. (пакет другого устройства найден в собственном устройстве) (~ 5%)
Иногда (~ 80%) Прием данных имеет несколько бессмысленных нулевых байтов. вот так.
- Правильное получение данных: 01 04 04 00 00 45 92 48 B9 (9 байтов)
- С бессмысленными нулевыми байтами: 00 00 00 01 04 04 090C 48 CF 4E 4F 00 00 00 00 00 00 00 00 00 (22 байта)
Пожалуйста, помогите мне избежать головокружения. спасибо.