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
내 장치가 포트에 있습니다 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에 있는 것 같지만 확실하지 않습니다.
이를 추가로 디버깅하는 방법에 대한 아이디어가 있습니까?