Hallo Dirk,
Ich habs jetzt so gemacht wie du gesagt hast:
Wenn ich das ganze laufen lasse kommt sowas dabei raus:Code:get_dcf_bit(); //Bit lesen if(dcf!=dcf2) //Pegeländerung { if(t>69 && t<85) { dcf='1'; } if(t>85 && t<100) { dcf='0'; } if(t>172 && t<182) { dcf='1'; //start='1'; } if(t>182 && t<192) { dcf='0'; //start='0'; } /*send("\r\n"); itoa(t,time,10); send(time); send("\r\n"); */ t2=1; //Daten senden t=0; } else //Pegel gleich geblieben { t++; } dcf2=dcf; //Pegel kopieren für nächste überprüfung
Eine exakte Uhrzeit kann ich daraus leider immer noch nicht ablesen. Außerdem empfange ich noch immer keine ENDEBIT, heißt also, wenn ich mir t mal ausgeben lasse, hab ich als größte Zahl meist nur etwas um die 115.Code:0123456789012345678901234567890123456789 100111001001001010100110100100101010110100101101011001000100 0123456789012345678901234567890123456789 101001011010010010101001101001001010010100110100101100101101 0123456789012345678901234567890123456789 001010010100100101101101001011001011011010010000101001001011 0123456789012345678901234567890123456789 011010010110010110010101001101001001010100010000101001010110
Gruß
cesupa







Zitieren
Wenn ich mir die gemessenen Zeitabstände ausgeben lasse kommen da auch Werte zwischen 890 und 1100 raus, dabei müsste es doch so um die 800 und 900 rum liegen, oder? Jedenfalls haben auch ein paar Variationen nicht zum gewünschten Ergebnis geführt, eine korrekte Minutenanzeige hab ich bisher bloß 1, 2 mal hinbekommen. Ich glaube mal, dass mit meinem selbstgeschriebenen Timer was nicht stimmt, könnte einer von euch da mal einen Blick drüber werfen? Ich mach das ganze mit dem 8-Bit-Timer vom Atmega8 bei 16MHz, mit einem Interrupt, der jede ms ausgeführt werden soll, wird ein counter hochgezählt, der dann für die Messung des DCF-Signals verwendet wird. Wahrscheinlich läuft der counter nicht ordentlich...

Lesezeichen