【问题标题】:Cannot open /dev/tty/USB0 with cat after being used with pyserial与pyserial一起使用后无法用cat打开/dev/tty/USB0
【发布时间】:2014-12-23 00:30:39
【问题描述】:

在打开我的串口/dev/tty/USB0pyserial之后:

>>> ser = serial.Serial("/dev/ttyUSB0", 57600)
>>> ser.isOpen()
True
>>> ser.close()
>>> ser.isOpen()
False

我不能再用命令cat /dev/ttyUSB0阅读/dev/ttyUSB0
通常cat /dev/ttyUSB0是像read这样的阻塞命令,但是用pyserial打开/关闭串口后,cat命令变成非阻塞的,好像很忙……

有人知道这是什么原因吗?

【问题讨论】:

  • 什么意思?只要它关闭了,你阅读它应该没有问题......如果你在 python 中重新打开它,你还能从中读取吗?
  • 通常cat /dev/ttyUSB0是像read一样的阻塞命令,但是用pserial打开/关闭串口后,catcommand就不再阻塞了,好像很忙...

标签: python linux cat pyserial tty


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多