Возможна ли переменная скорость передачи данных для последовательного порта? - PullRequest
0 голосов
/ 21 сентября 2011

Скорость передачи данных обычно устанавливается на одно из указанных значений, например 9600, 56k и т. Д. Можно ли выбрать другое значение, например 123456 бод? Это числовой параметр, так почему бы и нет?

Ответы [ 3 ]

2 голосов
/ 21 сентября 2011

Часы коммуникационного модуля обычно выводятся из системных часов. эти системные часы могут быть разделены на конкретные числа, такие как 2,4,8 .. вот почему вы можете достичь только определенных скоростей.

Поскольку вы говорите по асинхронному протоколу, часы не передаются по линиям.

все вышеперечисленное заставляет отрасль принять решение о списке допустимых скоростей передачи

НО, если ваши два коммуникационных модуля поддерживают специальную скорость передачи данных, такую ​​как 17800, вы можете работать с ней.

0 голосов
/ 21 сентября 2011

В Windows вы устанавливаете скорость передачи последовательного порта, используя SetCommState, который принимает структуру блока управления устройством в качестве параметра. Элемент BaudRate этой структуры используется для установки скорости передачи и может быть либо постоянным значением, например. CBR_4800 или ваше собственное указанное значение, например, 4801. То, работает ли какое-либо значение, зависит от аппаратного обеспечения, т.е. позволяет ли используемая UART или SIO ваша конкретная скорость передачи данных. Прошло некоторое время с тех пор, как я работал с этими вещами, но возможно, что скорость передачи данных должна быть кратна входной тактовой частоте, предоставляемой некоторым другим оборудованием, так что определенные скорости могут не работать. Обратите внимание, что мой опыт относится к RS232, а не к RS485, но я считаю, что используются те же SDK.

0 голосов
/ 21 сентября 2011

Обычно последовательный адаптер предназначен для работы только с определенными «стандартными» битрейтами - 50, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800 и т. Д. На практике многиеАдаптеры частично реализованы в программном обеспечении и могут работать с любой скоростью (в пределах диапазона их счетчиков), но (де-факто) стандарт не требует, чтобы вы могли указывать такие произвольные скорости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...