2017-03-09 14 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 
} 
関連する問題