与 pyserial 一起使用后无法使用 cat 打开 /dev/tty/USB0

Thi*_*rry 1 python linux tty cat pyserial

打开我的串行端口/dev/tty/USB0pyserial

>>> ser = serial.Serial("/dev/ttyUSB0", 57600)
>>> ser.isOpen()
True
>>> ser.close()
>>> ser.isOpen()
False
Run Code Online (Sandbox Code Playgroud)

我无法再/dev/ttyUSB0使用命令读取,cat /dev/ttyUSB0
通常cat /dev/ttyUSB0是像这样的阻塞命令read,但是在使用 pyserial 打开/关闭串行端口后,该cat命令变得非阻塞,看起来很忙......

有谁知道是什么原因造成的?

Thi*_*rry 5

当 pyserial 打开 tty 时,它会隐式地重新配置 tty 的一些参数,例如:time=0将超时设置为 0 秒,以及 min=0设置要读取的最少字符等。

要恢复默认行为,请使用 linux 命令stty
stty -F /dev/ttyUSB0 icanon