Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的Raspberry 2上使用serial.write()时,Python挂起_Python_Raspberry Pi_Raspbian_Pyserial - Fatal编程技术网

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

在我的Raspberry 2上使用serial.write()时,Python挂起,python,raspberry-pi,raspbian,pyserial,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:

我使用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个字节。我也看到了这篇文章,但在我的Raspbian机器上a/dev/serial0或/dev/ttyS0不存在。我是如何在第一秒钟内得到这种持续的快感的?

您使用的是一个非常高的波特率,缓冲区可能已经满了,并在短时间内导致hick上升。 尝试一个非常保守的波特率9600,看看你是否有同样的问题


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

好了,现在它变得奇怪了!在进行了一些测试并将波特率降低到115200之后,我还监控了我的系统资源(但这次我在笔记本电脑上遇到了与pi相同的问题),但没有任何可疑之处。一切都很好,CPU使用率为100%,但这不是问题。写入命令仍然非常慢。经过一点调试后,我添加了一个Serial.print(“test”);在Arduino号上。当我启动python脚本时,它仍然非常慢,但在另一个终端中,我进入了这个命令屏幕/dev/ttyACM0 115200,然后python脚本又快了。