我有一个运行 Linux - Raspbian 的 Raspberry Pi。
问题是当我尝试读取 USB 端口时,我看到了奇怪的行为。它给出间歇性结果。
昨晚它有效,今天早上它不起作用 - 完全相同的代码。
dmesg | grep tty
返回-
[ 0.000301] console [tty1] enabled
[ 0.812585] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 81, base_baud = 0) is a PL011 rev2
[ 0.814150] 3f215040.serial: ttyS0 at MMIO 0x0 (irq = 53, base_baud = 31250000) is a 16550
[ 4.867127] cdc_acm 1-1.5:1.0: ttyACM0: USB ACM device
我的设备位于 port ttyACM0
。
当我检查时,我可以确认端口已打开ser.isOpen()
。
当我打开 Python3 终端时,我运行以下命令:
import serial
port = "ttyACM0"
ser = serial.Serial("/dev/%s" % port, 9600, timeout=0.5)
while True:
line = ser.readline()
print(line)
print(line.decode())
今天早上它返回了所有内容:
b''
b''
b''
我已经更换了 USB 电缆,并检查正在写入端口的设备正在写入数据。
我唯一的猜测是它是 Linux/Raspbian 中的东西,但我不确定。
关于如何进一步调试这个的任何想法?