在我的Raspberry 2上使用serial.write()时,Python会挂起

时间:2018-05-21 12:54:48

标签: python raspberry-pi raspbian pyserial

我使用pySerial进行RaspberryPi 2和Arduino之间的通信,但是在我的前100次写入调用之后,它在写入时开始变得非常缓慢。 我的代码看起来像这样:

import serial

ser = serial.Serial("/dev/ttyACM0", 2000000, write_timeout=0)
while True:
    byteData = getData()
    sentBytes = ser.write(byteData)
    if sentBytes == 4:
        print("All Data was sent successfully!")

第一秒一切都很好,但随后它会挂起,我每秒只发送4个字节。我也看过这篇文章here,但在我的Raspbian机器上,/ dev / serial0或/ dev / ttyS0并不存在。我是如何永久地在第一秒中获得这种冲动的?

1 个答案:

答案 0 :(得分:0)

您使用的波特率非常高,缓冲区可能已满,并且会在短时间内启动。 尝试非常保守的9600波特率,看看你是否有同样的问题。

还要确保getData()实际上总是返回4个字节,否则可能无法在每个循环中评估print语句。