串行打印减慢了代码的执行速度。 Arduino到期

时间:2017-01-10 11:04:20

标签: arduino serial-port timing arduino-due

我们正在使用Arduino由于通过usb将串行数据发送到visual studio中生成的软件。

我们遇到的问题在于Due。我们有一段时间关键的代码

{{1}}

最初我们使用延迟来控制泵的频率。在示波器上进行测量时,这为我们提供了可靠的频率。然而,由于数据存在差距,这当然会影响图表的绘图。

使用millis(),我们无法产生相同的频率。显然,我们可以补偿以实现单个频率,但是我们需要能够可靠地使用范围频率。

似乎SendSerialData()是一个大约有15个serial.print的函数,正在影响时序,因为没有频率是预期的。

有谁知道任何解决方案?实时数据记录和绘图到图表是必不可少的,不能妥协。

提前致谢

1 个答案:

答案 0 :(得分:2)

如果时间非常关键,请勿使用delay(),请使用有限状态机。 更重要的是,你的波特率是多少?如果它是9600,那么你的速度很慢,因为println();,尝试使用更大的波特(如115200)。

希望它有所帮助。

约阿夫