LINUX.ORG.RU

COM-порт на 14400 - фальшивит


0

0

Есть у меня девайс замечательный, который цепляется к com-порту, и начальный режим у него - как раз эти самые 14400. Доселе работал с ним на виндах - и было мне счастье. Но надоело мне бегать к виндовой машине, перенес я девайсик к машине с Ubuntu 10.04 - и обрел беспокойство. Коннектишься PuTTY к /dev/ttyS0, указывая нужную скорость, включаешь девайс - и наблюдаешь кракозябров страшных - частота не та.

Наблюдения: дефолтовая скорость порта - 115200. Подключаешься PuTTY на 14400 - ошибок не пишет. Но если посмотреть stty -F /dev/ttyS0 - видно что работаем теперь на 9600.

stty - я ему stty -F /dev/ttyS0 115200 - он мне молча соглашается. Я ему stty -F /dev/ttyS0 14400 - он мне такой «stty: неверный аргумент «14400»»

И кто мне всю картину портит - контроллер ли, иль линукс шутит надо мною так? Куды бечь? обратно в венду?


Бред какой-то. Это что-же за устройство такое, у которого скорость на порту 14400? Или ты что-то не понял, или одно из двух.

Нет, чисто теоретически, можно на COM-порту выставить 14400, для этого, если не ошибаюсь, надо исходники ядра править, и возможно исходники stty. Ну может быть еще чего... Ну или непосредственно в i/o-порт записать нужный делитель (не помню как).

ansky ★★★★★
()

> перенес я девайсик к машине с Ubuntu 10.04 - и обрел беспокойство. Коннектишься PuTTY к /dev/ttyS0

Путти на убуньти? Это как?

ansky ★★★★★
()

>stty - я ему stty -F /dev/ttyS0 115200 - он мне молча соглашается. Я ему stty -F /dev/ttyS0 14400 - он мне такой «stty: неверный аргумент «14400»»

Потому что в termios.h не определена такая скорость 14400, как уже сказали правильно - судя по ttyS0 порт аппаратный, так что используй setserial и все будет.

bengan
()

Нету такой скорости у COM. 9600 есть и кажется 19200. 14400 это скорость модемного коннекта, а не COM-порта.

tx
()
Ответ на: комментарий от tx

Нету такой скорости у COM

Плюсую. Как оказалось, компьютерный контроллер RS-232 отказывается работать на любых частотах, кроме строго определенных (вроде 9600, 19200 и т.п.). Поэтому и чертов PIC-контроллер приходится подключать по 9600, хотя он в разы большие скорости поддерживает, но, увы, не поддерживаемые компьютерным 232-м контроллером (на той же 19200 уже наблюдаются сбои из-за того, что у PIC'а не 19200, а чуть-чуть иначе).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от tx

>Нету такой скорости у COM. 9600 есть и кажется 19200. 14400 это скорость модемного коннекта, а не COM-порта.

Прежде чем сказать что-то матчасть изучите. 14400 = 115200 / 8. Отличный целый делитель - компорт прекрасно работает на такой скорости.

bengan
()
Ответ на: комментарий от Eddy_Em

Что за ахинея про PIC ? Их можно вообще на любую скорость настроить - достаточно кварц подходящий поставить. Ошибки в частоте +/- 1-2% вообще практически не ощущаются - никаких сбоев не наблюдал даже при использовании внутренних rc-генераторов.

bengan
()
Ответ на: комментарий от bengan

Кварц уже есть, 4МГц. Минимальная ошибка на 9600, на 19200 уже побольше. А на 115200 вообще погрешность очень большая получается.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

>Кварц уже есть, 4МГц. Минимальная ошибка на 9600, на 19200 уже побольше.

Вообще-то у них одинаковая ошибка для 4 МГц, но в любом случае если вы сначала паяете а потом думаете/считаете - то это СС3Б.

bengan
()
Ответ на: комментарий от bengan

если вы сначала паяете а потом думаете/считаете - то это СС3Б.

Модули уже собраны (не я их делал), мне лишь нужно с ними работать.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.