Kann ich über SERIAL nur 8 Bit übertragen?

Habt ihr ne Idee was da falsch läuft?

Ne Idee schon:

4095 sind "in Wirklichkeit" 12 gesetzte Bit : 0x0FFF
4294967039 ist 0xFFFFFEFF oder 0xFEFF als negative Zahl interpretiert und das sich ergebende 32Bit integer am PC dann wieder vorzeichenlos ausgegeben.

Die Frage ist also, wo das 0xFE byte anstelle des 0x0F herkommt.

Ne andere Idee hängt an deiner Zeile

val=val + mySerial.read();  Das machst du auch, wenn evtl. noch gar kein zweites Byte angekommen ist. read liefert eine (int)-1 , also 0xFFFF
Das Ergebnis hängt von dem Geheimnis ab, wie val eventuell definiert ist.

 if (mySerial.available() >=2 ) {

wäre eine Abhilfe...

:wink: