为什么不在我的程序中写入pySerial?

2022-02-22 00:00:00 python pyserial arduino

问题描述

所以我在我的Arduino Nano上设置了一个程序,它从串行端口读取单个字节,并根据收到的字节是1还是0打开LED。我在Serial监视器上和python3shell中使用pySerial彻底测试了这个程序,它工作得很好。但是当我有这样一个简单的程序时:

import serial
SERIAL = serial.Serial("COM4", 9600)
SERIAL.write(b'1')

董事会什么都不做。pySerial在python shell中工作,但不能在python程序中工作,我做错了什么?


解决方案

打开串行端口后,请将其延迟至少一秒钟,因为Arduino会在您打开串行连接时自动重置,并且不会立即开始读取串行端口。

示例:

import serial
import time
SERIAL = serial.Serial(baudrate='115200', timeout=.2, port='com4') #this edit is not important
time.sleep(3) #sleep 3 seconds
SERIAL.write(b'1')

相关文章