Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как выставить нестандартную скорость обмена СОМ-порта ?


NicolA ©   (2003-08-11 12:09:00) 

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


y-soft   (2003-08-12 11:27:00) [1]

>wal ©

Работоспособность при использовании стандартных UART на нестандартных скоростях сохраняется, даже если на другом конце линии приемопередатчик на иной аппаратной основе (например i8051), так что можно использовать, не смотря на возникающие искажения. На "менее" стандартных (16750 и т.д.) и специализированных можно использовать скорости и >115200, не зря же определены CBR_128000 и CBR_256000...


wal   (2003-08-12 01:43:00) [2]

В догонку - если я не ошибаюсь, то ошибка в скорости (а точнеее в длительности бита) может достигать 5% - это гарантировано, реально может "уплывать" гораздо сильнее и работоспособность сохранится.
С уважением.


wal   (2003-08-12 01:14:00) [3]


> y-soft © (11.08.03 12:58) [2]


> не всякий UART поддерживает нестандартные скорости

Скорость "округлится" вверх до ближайшей поддерживаемой. Для стандартного 16550А (помоему так) скорость определяется 16-ти разрядным делителем для 115200. Соответственно можно получить от 115200/65535~1.757 Бод, до 115200/1=115200 Бод.
С уважением.


y-soft   (2003-08-11 12:58:00) [4]

Именно так и делается, но есть особенность - не всякий UART поддерживает нестандартные скорости


Verg   (2003-08-11 12:24:00) [5]

Если глянуть на значение констант CBR_*** для поля BaudRate в DCB, то возникает мысль о попробовать просто установить baudrate в нужное число (например 9650) и проверить.
Я думаю сработает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо