Go Down

Topic: Serial 9600-7E1 lesbar machen (Read 686 times) previous topic - next topic

licht2002

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.0*255(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


COOL

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

Gruß Gerd

pylon

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

Code: [Select]

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

licht2002

@ 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

Go Up