Hi
ich habe Folgendes Problem
Mit einem µC erzeuge ich einen gleichmäßigen Takt
Code:$regfile "m8def.dat" $crystal = 10000000 Config Portd = Output Do Set Portd.2 Nop Nop Nop Nop Reset Portd.2 Waitms 999 Loop
Dies Klappt scheinbar auch soweit Fehlerfrei
Ein Zweiter µC Stoppt diese Zeit
Und gibt diesen wert über UART aus
Code:$regfile "m8def.dat" $crystal = 10000000 $hwstack = 100 $swstack = 100 $framesize = 100 $baud = 9600 Config Timer0 = Timer , Prescale = 1 Config Timer1 = Timer , Prescale = 256 Config Int0 = Rising '6 Takte für Timer Enable Interrupts Enable Int0 'enable the interrupt On Int0 Send Nosave Stop Timer0 Stop Timer1 Timer0 = 0 Timer1 = 0 Start Timer0 Start Timer1 Do Loop Send: Stop Timer0 Stop Timer1 Print "Timer1= " ; Str(timer1) ; "Timer0= " ; Str(timer0) Timer0 = 0 Timer1 = 0 Start Timer0 Start Timer1 Return
So weit so gut
die Ausgabe sieht wie folgt aus
Timer1= 37920Timer0= 199
Timer1= 37920Timer0= 213
Timer1= 37920Timer0= 233
Timer1= 37920Timer0= 251
Timer1= 37920Timer0= 205
Timer1= 37920Timer0= 223
Timer1= 37920Timer0= 239
Timer1= 37920Timer0= 253
Timer1= 37920Timer0= 203
Timer1= 37920Timer0= 215
Timer1= 37920Timer0= 227
Timer1= 37920Timer0= 239
Timer1= 37920Timer0= 253
Timer1= 37919Timer0= 203
Timer1= 37920Timer0= 219
Timer1= 37920Timer0= 239
Timer1= 37920Timer0= 1
Timer1= 38001Timer0= 19 <-- Woher kann dieser Sprung kommen?
Timer1= 37960Timer0= 133
Timer1= 37920Timer0= 247
Timer1= 37920Timer0= 199
Timer1= 37920Timer0= 219
Timer1= 37920Timer0= 235
Zur Beschaltung
Gemeinsame Masse
Gemeinsamme Betriebspannung 7805
an jedem µC mit 100n abgeblockt
Quarze haben jeweils 2 33p dran
Ich hoffe das mir Einer einen Tipp geben kann woher dieser Sprunghafte wert herkommen kann
Mit Freundlichem Gruß
Thomas







Zitieren

Lesezeichen