我将有一个循环,不断刷新HTML文件。当数据到达我将通过serial
库选择的串口时。数据来自Arduino板,当数据到达时,我将读取它并刷新一些变量。我搜索了一下,看到Interrupts通常用于此,但我正在考虑如何实现这种中断。
答案 0 :(得分:1)
中断通常用于任何时候可能发生的非常时间关键的事情,并且因此可以以最小的延迟执行。
我不认为你想要做的是一个很好的中断用例。
为什么不尝试这样的事情:(伪代码)
repeat forever:
read serial port
if data received:
update variables (call a function that does that)
您可以在处理串行命令时应用几乎任何示例。只需搜索网页。 它始终相同,经常读取串行输入缓冲区并检查接收的数据。当数据符合您的预期时,请执行某些操作。然后继续收听进一步的数据。
答案 1 :(得分:0)
Arduino核心有一个内置的伪中断函数serialEvent
,它有点像你想要的那样。它只在每个loop()
之间进行检查:
https://www.arduino.cc/en/Tutorial/SerialEvent
但@ Piglet的答案可能是最好的解决方案 - 检查串行数据是否在等你,如果是,请回复它。
if (Serial.available()) {
// do something
}