2013-07-29 2 views
2

Модуль pySerial обеспечивает интерфейс для связи с последовательным устройством. Однако, глядя на конфигурации последовательного устройства, например /dev/ttyS1, есть много вещей, чтобы настроить:Как настроить tty в python с pySerial?

stty -F /dev/ttyS1 -a 
speed 1200 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 cs7 -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 

Я особенно заинтересован в параметре -parodd cs7. Есть ли способ настроить этот параметр изнутри python, или мне нужно вызвать внешнюю команду для этого (например, stty -F /dev/ttyS1 ...)?

ответ

2

Да, вы даже можете настроить после объявления его

ser = serial.Serial('/dev/ttyS1', 19200, timeout=1, parity=serial.PARITY_ODD) 

ser.parity = serial.PARITY_EVEN 

ser.bytesize = serial.SEVENBITS 
+0

Ваш ответ правильный, но один только может «угадать», что '-parodd cs7' связана с четностью и bytesize. Вы забыли упомянуть, чтобы установить 'bytesize' в' serial.SEVENBITS'. – Alex

+0

Да. Добавлено это. Это был скорее общий ответ о том, как установить tty с помощью pyserial в целом. – Jiminion

Смежные вопросы