int neueRichtung void setup() { Serial.begin(9600); Serial1.begin(9600); } loop(){ Richtung(); // h=True; nur letzten wert lesen wenn vorher mit m eine Messung angestoßen wurde, deren Wert noch nicht abgeholt wurde // m=True; Messung durchführen, aber noch nicht holen, Wert liegt danna ch also im Serial-Empfangsbuffer // ohne Parameter= Messung starten Warten bis Messung beendet dann lesen. delay(300) } int Richtung(m=True, h=True) { if(m)Serial1.write(0x31); if (h){ loop until (Serial1.available()>8) Serial1.read() Serial1.read() r =(Serial1.read()-48)*1000 r+=(Serial1.read()-48)*100 r+=(Serial1.read()-48)*10 Serial1.read() r+=(Serial1.read()-48) Serial1.read() Richtung=r } println(Richtung); } while (ByteNum) {if (Serial1.available()) inBuf[ByteNum--] = Serial1.read()-48;} return inBuf[6]*1000 + inBuf[5]*100 + inBuf[4]*10 + inBuf[2];