frank-wob
04.10.2012, 11:03
Hallo,
ich habe ein Problem bei dem ich nicht weiterkomme. Ich glaube schon langsam ich bin zu Blöd für Manchester.
Es geht um folgendes:
Ich habe einen Temperatursensor der über AM die Temperatur sendet. HMS100T von ELV.
Ich schaffe es nun mit meinem Empfänger grundsätzlich etwas von dem Sender zu empfangen. Nur schaffe ich es nicht die Daten auszuwerten. Ich habe im Internet eine Beschreibung gefunden, wonach die Daten ähnlich Manchester-Code übertragen. Der Unterschied soll sein das nach der Präambel eine Periode gewartet wird. Die Preable soll 36 Bits lang sein. Die Datenperiode 1000µS.
Der Empfänger gibt mit High/Low auf int0 eines Mega8 aus.
Ich zähle jetzt 36 mal den Pegelwandel nach 0. Warte 1 ms.
Dann starte ich Timer1 der alle 1000µS nachsieht welcher Pegel am Empfangspin anliegt. Die 0 oder 1 schreibe ich in einen String und gebe ihn per UART aus.
Aber der scheint schon nicht zu stimmen. Er ändert sich von Empfang zu Empfang sehr stark, obwohl der Temperaturwert eigentlich konstant sein müsste.
Nun meine Fragen:
1. Mache ich hier schon einen Grundsätzlichen Fehler?
2. Wie kann icch die 0/1 zu einem Byte zusammensetzen
Würde mich über jeden Hinweis, Hilfe oder Tip freuen.
Gruß Frank
ich habe ein Problem bei dem ich nicht weiterkomme. Ich glaube schon langsam ich bin zu Blöd für Manchester.
Es geht um folgendes:
Ich habe einen Temperatursensor der über AM die Temperatur sendet. HMS100T von ELV.
Ich schaffe es nun mit meinem Empfänger grundsätzlich etwas von dem Sender zu empfangen. Nur schaffe ich es nicht die Daten auszuwerten. Ich habe im Internet eine Beschreibung gefunden, wonach die Daten ähnlich Manchester-Code übertragen. Der Unterschied soll sein das nach der Präambel eine Periode gewartet wird. Die Preable soll 36 Bits lang sein. Die Datenperiode 1000µS.
Der Empfänger gibt mit High/Low auf int0 eines Mega8 aus.
Ich zähle jetzt 36 mal den Pegelwandel nach 0. Warte 1 ms.
Dann starte ich Timer1 der alle 1000µS nachsieht welcher Pegel am Empfangspin anliegt. Die 0 oder 1 schreibe ich in einen String und gebe ihn per UART aus.
Aber der scheint schon nicht zu stimmen. Er ändert sich von Empfang zu Empfang sehr stark, obwohl der Temperaturwert eigentlich konstant sein müsste.
Nun meine Fragen:
1. Mache ich hier schon einen Grundsätzlichen Fehler?
2. Wie kann icch die 0/1 zu einem Byte zusammensetzen
Würde mich über jeden Hinweis, Hilfe oder Tip freuen.
Gruß Frank