Отправить байт разрыва с com-портом Windows - PullRequest
2 голосов
/ 22 февраля 2010

Вот копия таблицы данных с микроконтроллера:

Символы разрыва являются полным символом время логики 0 (включая 0 где стоповый бит будет нормально).

Это то, что я хочу создать с помощью COM-порта Windows (Windows SDK). Проблема в том, что я не вижу способа установить стоп-бит на ноль. Есть идеи? `

SetCommBreak () немного похож на то, что я хочу, но я не вижу способа точно рассчитать его время для отправки только одного байта.

Окружающая среда:

  • Visual C ++ (написание C-кода)
  • включая window.h
  • в Windows XP

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 мая 2010

SetCommBreak () действительно то, что вы хотите здесь. В большинстве случаев не имеет значения, длится ли условие прерывания слишком долго, пока оно не менее 8 битов логической «0» - потому что получатель не будет обнаруживать начало нового байта до он слышит по крайней мере один бит "1" в строке.

Какой микроконтроллер вы используете? С помощью этой информации можно будет подтвердить, применимо ли это к вашей конкретной ситуации.

0 голосов
/ 04 марта 2010

Используется ли бит четности? Если нет, вы можете установить четность порта на SPACEPARITY и отправить 8-битный байт, вы также можете изменить число битов, используя http://msdn.microsoft.com/en-us/library/aa363143%28VS.85%29.aspx, но это может не сработать, лично я т проверено.

...