Python在使用时挂起串行写入()在我的覆盆子2上

2024-09-26 22:50:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pySerial在raspberrypi2和Arduino之间进行通信,但是在我的第一个100次write调用之后,它开始变得非常缓慢。 我的代码如下所示:

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不存在。我怎么会在第一秒就这么冲呢?你知道吗


Tags: 代码devimporttimeoutserialarduinoserwrite
1条回答
网友
1楼 · 发布于 2024-09-26 22:50:00

如果您使用的是非常高的波特率,则缓冲区可能已满,并在短时间后导致阻塞。 尝试一个非常保守的波特率9600,看看你是否有同样的问题。你知道吗

还要确保getData()实际上总是返回4个字节,否则print语句可能不会在每个循环中都得到计算。你知道吗

相关问题 更多 >

    热门问题