如何使用pySerial在python中配置tty?

如何使用pySerial在python中配置tty?,python,serial-port,pyserial,Python,Serial Port,Pyserial,模块pySerial提供与串行设备通信的接口。但是,查看串行设备的配置,例如/dev/ttyS1,有许多东西需要配置: 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>; s

模块
pySerial
提供与串行设备通信的接口。但是,查看串行设备的配置,例如
/dev/ttyS1
,有许多东西需要配置:

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
stty-F/dev/ttyS1-a
速度1200波特;第0行;第0列;直线=0;
intr=^C;退出=^\;擦除=^?;杀死你;eof=^D;eol=;eol2=;swtch=;开始=^Q;停止=^S;susp=^Z;rprnt=^R;werase=^W;lnext=^V;冲洗=^O;最小值=1;时间=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-echo-echok-echonl-noflsh-xcase-tostop-echoprt-echoctl-echoke

我对参数
-parodcs7
特别感兴趣。有没有一种方法可以从python中配置此参数,或者我必须调用一个外部命令来执行此操作(如
stty-F/dev/ttyS1…
)?

是的,您甚至可以在声明后进行配置

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

ser.parity = serial.PARITY_EVEN

ser.bytesize = serial.SEVENBITS

你的答案是正确的,但是你可以“猜测”到
-parodcs7
与奇偶校验和字节大小有关。您忘了将
bytesize
设置为
serial.SEVENBITS
。是的。他补充道。这更像是一个一般性的答案,说明如何使用pyserial设置tty。