Serial 9600-7E1 lesbar machen

Hallo Arduino-Gemeinde,

ich hab da ein Hürde, die ich nicht schaffe.

Es geht um ein Stromzähler-Protokoll D0, dass per IR ausgelesen wird. Harware-Seitig ist es fertig. Die Daten kommen per Hardware- oder Softwareserial in den Uno.

Problem ist aber nun, dass das Protokoll mit 9600/7/1/E sendet... Arduino aber 8/1/N empfängt.

Ich habe gelesen, dass ich nur mit dem Hardware-Serial RX da etwas machen kann (wäre schlecht für mich... ich brauche eigentlich 3 Eingänge).... aber selbst da habe ich keinen Ansatz wie ich das umsetzen kann.

Mit H-Term kann ich die Daten im Klartext (9600/7/1/E) empfangen:
/HAG5eHZ010............
1-0:0.0.0255(336334)
1-0:1.8.1
255(013024.0209)
... usw

Im Serialmontior der Arduino-IDE sieht das aber so aus:
¯HAG5eHZ0±0±Ã±_ÅÒ×A0²

±-0:0.0.0ª²55(33633´©
±-0:±.¸.±ª²55(0±30²´.6´3·©
... usw

Gibt es ein Beispiel-Sketch, wie ich das lesbar machen kann. Eigentlich ist das ja nicht viel durcheinander.... oder?

Vielen Dank!

Viele Grüße

Tom

Hallo Tom,
ist ein wenig umständlich, aber es geht.
Schaue hier: http://arduino.cc/forum/index.php/topic,15615.0.html

Gruß Gerd

7E1 kann als 8N1 gelesen werden. Wenn Du danach jeden erhaltenen Wert als 7-bit interpretierst, wird die Even-Parity-Bit gelöscht:

uint8_t c = Serial.read();
c &= 0x7F;

@ Gerd: Vielen Dank für den Link, das ist mir leider ein weinig zu schwierig..... soweit bin ich noch nicht.... (leider)

@ Pylon:so einfach - hätte ich nicht gedacht!!!

Danke!!!

VG Tom