DMX
ソフトウェア用のArduinoインターフェイスを作成しようとしていますが、Freestyler
受信したデータのエンコーディングを知っているため、受信したデータの解析に苦労しています。
次の画像は、受信データを表示するために接続したシリアル モニターです。Freestyler
フォーマットは非常に単純で、チャネルあたり 3 バイトです。1 バイト目はstartOfMessage
、2 バイト目はチャンネル番号、3 バイト目はチャンネル値です。
シリアル モニタは、16 進数と 10 進数で表示されます。
テストのために、startOfmessage (定数) が正しく解析されたときに LED をオンにしようとしています。
byte myByte;
void setup(void){
Serial.begin(9600); // begin serial communication
pinMode(13,OUTPUT);
}
void loop(void) {
if (Serial.available()>0) { // there are bytes in the serial buffer to read
while(Serial.available()>0) { // every time a byte is read it is expunged
// from the serial buffer so keep reading the buffer until all the bytes
// have been read.
myByte = Serial.read(); // read in the next byte
}
if(myByte == 72){
digitalWrite(13,HIGH);
}
if(myByte == 48){
digitalWrite(13,HIGH);
}
delay(100); // a short delay
}
}
誰かが私を正しい方向に向けることができますか?