2017-03-09 22 views
0

我將有一個循環來保持刷新一個HTML文件。當數據到達串口時,我將通過serial庫選擇。數據來自Arduino板,當數據到達時,我會讀取它並刷新一些變量。我搜索了一下,看到中斷通常用於這種情況,但我正在考慮如何實現這種中斷。當有東西到達串口時中斷一個循環

回答

1

中斷通常用於非常時間緊迫的事情,這些事情可能隨時發生,並因此以最小的延遲執行。

我不認爲你想要做的是一個很好的中斷用例。

你爲什麼不嘗試是這樣的:(僞)

repeat forever: 
    read serial port 
    if data received: 
    update variables (call a function that does that) 

您可以將幾乎在處理串行命令在那裏任何例子。只需搜索網絡。 它總是一樣的,頻繁讀取串行輸入緩衝區並檢查接收到的數據。當數據是你期望的時候,做點什麼。然後繼續收聽更多數據。

0

該Arduino核心有一個內置僞中斷功能,serialEvent,有點做你想做的。它只能檢查各loop()之間: https://www.arduino.cc/en/Tutorial/SerialEvent

但@仔豬的答案很可能是最好的解決辦法,檢查串行數據正等着你,如果是的話,對此作出迴應。

if (Serial.available()) { 
    // do something 
} 
相關問題