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