我们正在使用Arduino由于通过usb将串行数据发送到visual studio中生成的软件。
我们遇到的问题在于Due。我们有一段时间关键的代码
{{1}}
最初我们使用延迟来控制泵的频率。在示波器上进行测量时,这为我们提供了可靠的频率。然而,由于数据存在差距,这当然会影响图表的绘图。
使用millis(),我们无法产生相同的频率。显然,我们可以补偿以实现单个频率,但是我们需要能够可靠地使用范围频率。
似乎SendSerialData()是一个大约有15个serial.print的函数,正在影响时序,因为没有频率是预期的。
有谁知道任何解决方案?实时数据记录和绘图到图表是必不可少的,不能妥协。
提前致谢
答案 0 :(得分:2)
如果时间非常关键,请勿使用delay()
,请使用有限状态机。
更重要的是,你的波特率是多少?如果它是9600,那么你的速度很慢,因为println();
,尝试使用更大的波特(如115200)。
希望它有所帮助。
约阿夫