LINUX.ORG.RU

Что за символ на каждый пакет лезет из ttyUSB?


0

0

Соединяю устройство с компом (ubuntu, FC7) через USB-serial FT232RL. Настроил /dev/ttyUSB0 как raw устройство: sudo stty -F /dev/ttyUSB0 raw

Начинаю слать со своего девайса пакеты, каждый пакет завершаю символами 0xf1, 0xf5. Это нужно, потому как обычные \r\n встречаются в виде данных в самих пакетах. Так вот на каждый пакет мне приходит 0x40. Что за символ такой? Может в ядре глянуть, что это такое? В гугле не нашел такой проблемы. Причем, проверял на 2-х дистрибутивах, везде одинаково! Самый прикол, что винда из гипертерминала таким не занимается. Чисто принимает данные. Мне кажеться, что-то простое должно быть

>Так вот на каждый пакет мне приходит 0x40.

Судя по всему VKILL = @ (man termios), хотя он работает только в каноническом режиме. Надо посмотреть после stty -F /dev/ttyUSB0 raw реальное состояние параметров (stty -a /dev/ttyUSB0)

>Самый прикол, что винда из гипертерминала таким не занимается.

а в linux чем принимаешь на /dev/ttyUSB0 ? В общем думаю надо посмотреть реальные параеметры после запуска программы которая принимает данные.

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

Докладываю: $ sudo stty -F /dev/ttyUSB0 speed 115200 baud; line = 0; min = 1; time = 0; -brkint -icrnl -imaxbel -opost -isig -icanon

$ stty -a -F /dev/ttyUSB0 speed 115200 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <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 -iutf8 -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

Вот реальные параметры

lisarden
() автор топика
Ответ на: комментарий от koTuk

Еще раз, но с разделом строк:

$ sudo stty -F /dev/ttyUSB0

speed 115200 baud; line = 0; min = 1; time = 0; -brkint -icrnl -imaxbel -opost -isig -icanon

$ sudo stty -a -F /dev/ttyUSB0

speed 115200 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <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 -iutf8 -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

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

Попробуй отключить не posix расширения
$ sudo stty -iexten -F /dev/ttyUSB0
или выключай
$ sudo stty -echoctl -echoke -F /dev/ttyUSB0

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