2

Я пытаюсь установить связь между встроенным устройством, на котором работает Linux, и ПК, на котором работает Windows XP через соединение RS232. В Windows я использую Hyperterminal, но не знаю, какие настройки мне следует использовать. Я должен установить

  • Бит в секунду
  • Биты данных
  • паритет
  • Стоп биты
  • Управление потоком

На устройстве Linux я запустил stty чтобы узнать настройки на этой стороне. Я не хочу менять эти настройки устройства linux, а только зачитывать их. Но мне трудно интерпретировать вывод.

~ $ stty -F /dev /ttyS0 - скорость 9600 бод; ряды 24; столбцы 80; intr = ^ C; выход = ^\; стереть = ^?; убить = ^ U; eof = ^ D; eol =; eol2 =; начало = ^ Q; стоп = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; флеш = ^ O; мин = 1; время = 0; -parenb -parodd cs8 hupcl -cstopb crelad clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -maxxbel opost -olcuc -ocrlonclonlcl -fdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iext

Bits per second должны быть установлены на 9600, но как мне интерпретировать оставшиеся выходные данные из stty?

Редактировать:

Хорошо, я сделал немного больше. Смотря, работает ли getty :

~# ps | grep getty
 1557 root      1884 S    /sbin/getty 115200 ttyS2
 1558 root      1884 S    /sbin/getty 38400 tty1
 1600 root      2636 S    grep getty

Я предполагаю, что это означает, что я слушаю на устройстве ttyS2 и это также, кажется, указывает скорость передачи данных как 115200 . Теперь я запустил stty чтобы увидеть настройки:

~# stty -F /dev/ttyS2 -a
speed 115200 baud; rows 24; columns 80;
intr = ^C; quit = ^\; erase = ^?; kill = ^X; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon
-ixoff -iuclc -ixany -imaxbel
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop
-echoprt -echoctl -echoke

Теперь, пытаясь использовать это в Hyperterminal, я бы предположил следующие настройки:

  • Бит в секунду: 115200
  • Биты данных: 8 (из-за cs8)
  • Четность: нет (из-за -parenb)
  • Стоповые биты: 1 (из-за -cstopb)
  • Управление потоком: нет (из-за -crtscts и -ixon)

Но это все еще не работает.

1 ответ1

2

Попробуйте 8 бит, без проверки четности, один стоповый бит, программное управление потоком. Это происходит от:

"cs8" означает 8 бит данных. «-crtscts» означает отсутствие аппаратного управления потоком. "ixon" означает мягкое управление потоком. «-cstop» означает один стоповый бит.

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