2

该模块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

我对参数特别感兴趣-parodd cs7。有没有办法从 python 中配置这个参数,或者我必须调用一个外部命令来做到这一点(比如stty -F /dev/ttyS1 ...)?

4

1 回答 1

2

是的,你甚至可以在声明后配置

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

ser.parity = serial.PARITY_EVEN

ser.bytesize = serial.SEVENBITS
于 2013-07-29T15:34:24.723 回答