Python PySerial非阻塞写入?

Python PySerial非阻塞写入?,python,serial-port,pyserial,Python,Serial Port,Pyserial,我正在为一个项目使用PySerial库,它运行良好。不过,现在我的需求已经改变,我需要实现一个非阻塞串行写入选项。我查阅了PySerial官方文档以及几个示例,但没有找到合适的选项。现在我的问题是:PySerial是否可以进行非阻塞写入?如果是,如何进行 提前感谢。来自: -超时=无:永远等待 -超时=0:非阻塞模式(读取时立即返回) -超时=x:将超时设置为x秒(允许浮动) 默认情况下,除非设置了writeTimeout,否则写操作是阻塞的。有关可能的值,请参阅上面的超时列表 因此,我想当您打

我正在为一个项目使用PySerial库,它运行良好。不过,现在我的需求已经改变,我需要实现一个非阻塞串行写入选项。我查阅了PySerial官方文档以及几个示例,但没有找到合适的选项。现在我的问题是:PySerial是否可以进行非阻塞写入?如果是,如何进行

提前感谢。

来自:

-超时=无:永远等待

-超时=0:非阻塞模式(读取时立即返回)

-超时=x:将超时设置为x秒(允许浮动)

默认情况下,除非设置了writeTimeout,否则写操作是阻塞的。有关可能的值,请参阅上面的超时列表

因此,我想当您打开串行端口时,您可以设置:

ser = serial.Serial(port='/dev/ttyXXX', writeTimeout = 0)

事实证明。为了从物理上排出串行输出,我们使用了serial.drainOutput()函数。它可以工作,但如果您正在寻找一个实时操作,它可能不会有帮助,因为如果您期望实时性能,python不是一种非常好的语言


希望有帮助。

尝试线程化发送函数

    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))

嗯,我不是在寻找写超时。我需要的是如下的东西。1.将数据发送到串口进行写入。2.在实际发送数据时执行其他任务。(身体上)。3.一旦数据被发送,它就会通知我。我遇到的最接近这个的是:serial.drainOutput(),它实际上在等待输出数据被排出。但是,它不能提供实时性能。我想知道pyserial中是否有这个规定。