私はUARTを介してmicrontroller LED、LCDなどで制御する簡単なデータを通信するために使用できる軽量メッセージプロトコルまたは構造を探しています。私は、 "LED1 ON、LED1 OFF、LED1 GREENなどのようなコマンドで文字列ASCIIデータを送ることができると思う"UARTを介してマイクロコントローラを制御するメッセージングプロトコル
私はイーサネットからRS232(UART)モジュールを使用しています。特定のデータに対してパケットを解析します。 UDPからのこのデータは、LEDの点灯、7セグメント表示、LCD文字列メッセージなどを制御するために使用されます。
LEDの制御、7セグメント表示、LCDなどのすべての周辺制御は、AVRマイクロコントローラによって処理されます。このアーキテクチャーはマスター(イーサネット・コントローラー)とスレーブ(AVR)に似ています。しかし私はまた、AVRからボタン押下やハートビートメッセージなどのメッセージを得ることができる必要があります。
私は、だから私は、ユニークな私がコントロールする各デバイスについてのdeviceID、データの長さ、および実際のデータを持っている可能性が
struct HWCtrlData
{
unsigned char deviceID;
unsigned char deviceDataLen;
unsigned char deviceData[255];
}
ような何かを送ることを考えていました。
私はRGB LEDの、7つのセグメントディスプレイ、LCDにASCII文字列を送信することができます考えていた。
はLED1「グリーン」を送信し、それはRGBは、たとえば緑にLEDを点灯します。
これを行うより良い方法はありますか? ASCII文字列とデータの破損、エラーチェック(CRC?)を心配する必要があります
私のためにこれを行うことができるプロトコルはありますか?
最も広く使用されているのは[ModBus](http://www.modbus.org)です。しかし、すべてのプロトコルの一般的な概念は、[ID:1-4] [CMD:1-2] [CMD_OPT:0-X] [CRC:1-2](バイト単位の長さ)です。 – imbearr