Hallo

Ik ben nu geruime tijd bezig om een programma te maken voor de PIC 16F871 in PIC basic Het ontvangen en verwerken van het signaal gaat nu redelijk.

Ik wil echter het decoderen van de DCF in een interrupt onderbrengen
het probleem is echter dat ik de klok wil laten doorlopen als er geen signaal is (het bekende ontbrekende 59 bit). Dus ik 2 interrupt routines lopen. 1 keer het signaal op RB0 en een timer(1). echter wil dit samen niet lukken en zover ik kan beoordelen is het probleem dat het signaal van de DCF klok niet precies 1 seconden is.

bij het begin seconde 0 zet ik de timer ook op nul (timer zelf en de variabele) en vanaf dan ga ik er vanuit dat de beide gelijk lopen (vermoedelijk dus fout)

Heeft een van jullie dit ook al eens ervaren of wat is een betere methode om met beide interrupt te werken. voorbeeldjes in pseudo code welkom

BVD Johan

...is het probleem dat het signaal van de DCF klok niet precies 1 seconden is

Het detecteren van het begin van een seconde kan makkelijk enkele tientallen mS verschil in zitten...
Je moet gewoon de klok op een kristal laten lopen, en eens in de zoveel tijd de klok gelijkzetten met een ontvangen (geldige) tijd.

Arco,

je hebt gelijk echter ik heb steeds bij elke seconde gecontroleerd.
Terwijl je dus eigenlijk seconde 0 gelijk moet zetten
ik ga hiermee verder en hoop morgen meer duidelijkheid te kunnen geven

Een of een paar keer per dag gelijkzetten is wel genoeg. Liefst 's nachts, dan is er betere ontvangst.
Je moet ook wel checken of de tijd klopt.
(De ontvangen tijd moet vorige ontvangen tijd + 1 min. zijn)