我已经为Windows编写了一个可以正常工作的简单脚本,并且已经将其改编为Linux(Ubuntu)。问题在于它不读取发送的字节。
我根据Arduino IDE尝试了所有可用的不同串行端口,但问题仍然存在。我也使用\ n和\ r没有成功并且编码不同。
在win10上运行的代码:
import serial
import time
import keyboard
arduino = serial.Serial('COM4', 9600, timeout=0)
while True:
arduino.write('a'.encode())
time.sleep(0.1)
print(arduino.readline())
代码在Ubuntu上不起作用
import serial, time
arduino = serial.Serial('/dev/ttyAMC0', 9600, timeout = 0)
while True:
arduino.write('a'.encode())
time.sleep(0.1)
print(arduino.readline())
因此,第一个脚本连续打印a\r\n
,第二个则不打印。简单地连续显示b''
。所以我认为这不只是写信。
答案 0 :(得分:0)
已解决。不知道到底是什么问题,但一直在发送大写字母。