Я сильно подозреваю, что они отправляются DSP, драйверы последовательного порта на данный момент довольно хорошо отлажены.
Другие возможности состоят в том, что вы читаете последовательный порт из нескольких потоков одновременно (возможно, в одном и том же процессе, а может и нет). Откройте порт исключительно, чтобы убедиться, что это не ваша проблема.
Или, возможно, вы читаете ожидаемые значения из последовательного порта и добавляете мусор в некоторую буферизацию / организацию очереди в вашей программе. Возможно, вы получаете частичное чтение (из-за тайм-аута приема).
Помните, что возвращаемое значение read
измеряется в байтах , а не 16-битных значениях . Если бы вы получали 8 байтов, а затем печатали 8 шортов, вы бы видели такое поведение. (Однако проблемы с двумя последними значениями, 4621 3341, в «последовательности» не могут быть объяснены таким образом. ) Судя по комментариям ФП, это является точной причиной проблемы
Ни в коем случае эта проблема не связана с конфигурацией последовательного порта.