Gast
#323294
Hallo. Ich habe mal ein kleines Progi zum testen vom Timer0 geschrieben jedoch läuft es nciht.Also ich sehe die Led nicht blinken. Kann mir jemand sagen was ich falsch mache? Bitte! Mfg Cri :)
|
Anzeige
|
Timer läuft nicht,warum?
Gast
#323294
Hallo. Ich habe mal ein kleines Progi zum testen vom Timer0 geschrieben jedoch läuft es nciht.Also ich sehe die Led nicht blinken. Kann mir jemand sagen was ich falsch mache? Bitte! Mfg Cri :)
Gast
#323295
hmm...komisch. Habe zufälli bemerkt das er doch blink doch in einem Zeitabstand von ca.30 sek.! Habe mal ms nur bis 10 zählen lassen und dabei blinkt er ungefähr in einem Zeitabstand von 1 sek. Was versteh ich denn da nicht?warum muss der nur bis 10 und nicht bis 1000 zählen?
Gast
#323296
Was bedeuten diese Zeilen:
Gast
#323297
EA = Allg. Inter. Freigane ET0= Int.Timer0 Freigabe TMOD = 0x02; => Timer0 auf 8 Bit Auto Reload gestellt TL0=0x06; => Timer 0 mit 6 vorgeladen damit er 250µs zählt TH0=0x06; => das selbe TR0 => Timer 0 starten
Gast
#323298
Hab den Fehler schon gefunden! :)
Ich habe count falsch platziert.
RICHTIG:
.
.
.
void T0_Int(void) interrupt 1
{
count++;
if(count == 4) // 1msek.
{
ms++;
count = 0; // <- JETZT IST ES RICHTIG
if(ms==1000) // 1sek.
{
Led = ~Led; // Led Ein/Aus
ms=0;
}
}
}
.
.
.
Der Timer zählt bis 1ms dann wird ms inkrementiert und count auf 0
gesetzt. Danach addiert der Timer wieder 1ms bis ms =1000ms ist.Also 1
sek.
Danke Trotzdem!
Mfg Cri
Gast
#323299
hmm..."trotzdem" muss doch klein geschrieben werden :)
Gast
#323300
Oh da warst du schneller. Ich war noch bei der Kontrolle der sechs Timer-Init-Zeilen. Die sind richtig ;-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|