Arduino串口编程问题

Arduino Serial programming issue

我正在使用 pySerial 从 python 发送一个整数。

import serial
ser = serial.Serial('/dev/cu.usbmodem1421', 9600);
ser.write(b'5');

当我编译时,arduino 上的接收器 LED blinks.However 我想交叉检查 arduino 是否接收到整数。我无法使用 Serial.println() 因为端口繁忙。我不能先在 arduino 上 运行 串行监视器,然后 运行 python 脚本,因为端口很忙。我怎样才能做到这一点?

您可以上传一个 arduino 程序,该程序侦听该特定整数并且仅在获得该整数时才闪烁灯。

您可以使用一些额外的代码来收听 Arduino 的回复。

import serial
ser = serial.Serial('/dev/cu.usbmodem1421', 9600); # timeout after a second

while ser.isOpen():
    try:
        ser.write(b'5');
        while not ser.inWaiting():  # wait till something's received
            pass
        print(str(ser.read(), encoding='ascii'))  #decode and print
    except KeyboardInterrupt:  # close the port with ctrl+c
        ser.close()

使用 Serial.print() 将 Arduino 接收到的内容打印到串行端口,您的 Python 代码也在此处监听。