我正在使用PySerial库进行项目,它运行正常。虽然,现在我的要求已经改变,我需要实现非阻塞串行写入选项。我浏览了PySerial官方文档以及几个例子,但是找不到合适的选项。现在我的问题是:PySerial可以进行非阻塞写入吗?如果有,怎么样?
提前致谢。
答案 0 :(得分:3)
-timeout =无:永远等待
-timeout = 0:非阻塞模式(在读取时立即返回)
-timeout = x:将超时设置为x秒(允许浮动)
默认情况下写入是阻塞的,除非设置了writeTimeout。有关可能的值,请参阅上面的超时列表
所以我猜你打开串口时可以设置:
ser = serial.Serial(port='/dev/ttyXXX', writeTimeout = 0)
答案 1 :(得分:0)
希望它有所帮助。
答案 2 :(得分:0)
尝试线程化发送功能。
import _thread as thread
def send_message(message, serial_interface)
serial_interface.write(message)
print("Done sending message!")
serial_interface = serial.Serial('COM1')
message = "hi"
thread.start_new_thread(send_message, (message, serial_interface))