Я включил последовательный порт в Virtual Box и перенаправил вывод в файл D:\1.bin:

Я отправил некоторые данные, используя следующую команду в cmd в Windows XP внутри Virtual Box:

echo Hello > COM1

Также я отправил те же данные на последовательный порт в Ubuntu 9.04 внутри Virtual Box:

echo Hello > /dev/ttyS0

Но результатом, сохраненным в D:\1.bin была только строка "Hello" без дополнительных данных, таких как четность и стоп-бит.

Есть ли способ получить "необработанные байты", отправленные через последовательный порт?

1 ответ1

0

Биты четности и стоп-биты не будут включены в этот файл.

« Необработанные данные » относятся к полезной нагрузке ... четность и стоп-биты относятся к формированию и проверке « необработанных данных » на физическом носителе.


Также стоит отметить, что UART обычно могут работать в 7-битном (только текстовом) и 8-битном (двоичном) режимах.

Типичный 8N1 который вы видите, ссылается на:

  • 1 неявный стартовый бит
  • 8-битные данные
  • Без паритета
  • 1 стоповый бит

Это может привести к 10 битам на 8 бит данных, которые не будут хорошо работать в файле, который в любом случае хранит 8 бит на байт - добавьте четность или другой стоповый бит, и вы еще больше усугубите ситуацию.

Кроме того, как только вы заинтересуетесь кадрированием, вы действительно должны быть заинтересованы в информации о синхронизации, такой как скорость передачи данных и интервал между кадрами - то, что ваши команды даже не настраивают.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .