Hallo Dirk,
ich glaube, so langsam kann ich meine ersten kleinen Erfolge verbuchen. Ich lasse die Interrupt-Rountine jetzt nur noch alle 10ms laufen und wenn ich mir die Empfangenen Bits anzeigen lasse kommt sowas dabei raus:
Ja, das sieht ja schonmal ziemlich regelmäßig aus, so solls doch auch bestimmt sein, richtig? (Das wäre dann nämlich der Erfolg den ich erwähnt habeCode:111100011111000111110001111100011111000111110001111100011111 011111000111110001111100011111000111110001111100011111000111 000111110001111100011111000111100001111000111110001111100011 100011000000000000000000000000000000000000000000000000000000 111000111110001111100011111000111110001111100011111000111110 111100001111000111110001111100011111000111110001111100011111 011111000111110001111100011111000111110001111100011111000111 000111110001111100011111000111110001111100011111000111110001 100011111000111110001111100011111000111110001111100011111000 111000111110001111100011111000111110001111100011111000111110 111110001111100011111000111110001111000111110001111100011111 . . . .)
Aber jetzt stellt sich mir eine neue Frage:
Wenn eine Pause ca. 700-900ms andauert, dann müsste ich ja in meinen Bitfolgen 70-90 gleiche Zeichen hintereinander finden. Dagegen findet man bei genauem hinschauen zwischen den regelmäßigen Bitfolgen auch eine Reihe in der nur Null-Bits stehen, ist das dann vielleicht das Signal für das Endebit?
Wenn ich meinen Pin an den anderen Anschluss des Conrad-DCF-Empfängers anschließe bekomme ich ca. 8 Zeilen Nullen und dann eine regelmäßige Zeile wie oben. Sind diese 8 Zeilen dann vielleicht die Pausen?
Meinen Timer hab ich übrigens wie folgt umgeschrieben:
GrußCode:void timer_init(void) { t=0; t2=0; TCCR2=(1<<CS22) | (1<<CS20) | (1<<WGM21); OCR2=156; //10,0ms (?) TIMSK|=(1<<OCIE2); sei(); }
cesupa
P.S.: Hab mir jetzt mal die Variable t ausgeben lassen. Komischerweise reicht die Zahl ziemlich oft bis ca 200, aber Zahlen zwischen 70 und 90 werden auch erreicht.







)
Zitieren

Lesezeichen