PCからシリアル経由でコマンドを受け入れるようにするプロジェクトにコマンドインターフェイスを統合することを検討しています。
アイデアは、デバイスはそれを実行しますが、コマンドが送信され、それを実行するというものです。これは、シリアルデータを待機している単なるアイドルデバイスであることがわかったほとんどの例とは異なります。
たとえば、LEDを制御してアニメーションを再生するデバイスなどです。3つのプリセットアニメーションがあるとします。オンにすると、常に1番を再生します。PC側では、「プリセット2を再生」または「色を緑に変更」コマンドを送信するか、デバイスにライブリアルタイムアニメーションを送信します。 LEDで遊ぶ。
だから私の質問は、私はこの「デザインパターン」について多くの情報を見つけることができないということですか?どこを見ればよいのかわかりません。一番近いのは、既製のarduinoシリアル解析ライブラリです。ただし、C /非Arduino /理論的アプローチの詳細を探しています。
私はシリアルプロトコルを調べていますが、これはSPIやI2Cなどのことであり、実際にソフトウェアで制御/コマンドインターフェイスを実装する方法ではありません。
HDLCについても知りましたが、これは標準/プロトコルのようです。同様のスレッドは/programming/1445387/how-do-you-design-a-serial-command-protocol-for-an-embedded-system これはいくつかの非常に素晴らしい情報を持っていますが 、やるべきことですプロトコル/通信自体で。
これをコード化/実装してコマンドまたはコントロール機能を作成する方法を見つけようとしています。
無限ループを使用して、着信コマンドのシリアルを監視およびキャッチし、IFステートメントのリストを使用して、実行するコマンドを選択しますが、コマンドおよびシステムが正常である必要がない場合、またはその場合コマンドを逃した?
割り込み駆動、ステートマシン?
例を調べて見つけるために使用できる正式な名前はありますか?
編集:
同じ質問をしている人のために、私は調査中にこの本当に良い例を見つけました、 http://www.adnbr.co.uk/articles/parsing-simple-usart-commands