Я пытаюсь установить связь между встроенным устройством, на котором работает 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)
Но это все еще не работает.