使用串行和循环将数据发送到Arduino会随着时间的过去而变慢-内存泄漏?

时间:2019-05-23 02:45:43

标签: python python-3.x arduino serial-port pyserial

因此,我有一些代码可以从本地主机上的api中提取数据,然后通过串行端口将其写入到为两个PWM风扇供电的Arduino上。这是代码:

.clicked

我需要这段代码从API中读取并非常快速地(每秒多次)以串行方式写入arduino。当我启动脚本时,它会按预期运行,并每秒多次调用api,但是几秒钟后,它变慢了,并且仅每隔一秒钟左右进行一次调用。我认为这是由于某种内存泄漏或while循环使用不当引起的,但是我没有得到足够的信息来解决我的问题。

由于我花了几天时间搜索并尝试不同的东西来进行优化,因此对类似问题的任何帮助或指导将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

s = serial.Serial('com4', 9600)

尝试以更快的波特率运行。 9600速度很快,您的传输缓冲区已满。一旦发生这种情况,则下一次写入将被阻塞,直到缓冲区中有足够的空间来存储要写入的内容。