Hallo. Ich suche schon seit Tagen einen Ansatz für folgendes Problem: Ein ATMEGA 32 Steuert unter anderem ein LCD an. (PORT B) . Sobald ich einen Timer ( egal welchen ) anspreche bleibt das ganze Programm stehen. LCD tot. Nix geht mehr... Also: Programm läuft, Alles funktioniert wunderbar. Wenn ich folgende Zeilen einfüge bleibt alles stehen. TCCR0 |= (1<<CS00); TIMSK |= (1<<TOIE0); sei(); Da ich wenig Ahnung von der Materie habe nehme ich an das ich irgendwelche Einstellungen vergessen habe.... Oder was mache ich falsch ? Timer einschalten; Overflow...; globale Interuppts; Gebt mir bitte einen kleinen Hinweis..... MFG Robert
>TIMSK |= (1<<TOIE0); >sei(); >Da ich wenig Ahnung von der Materie habe nehme ich an das ich >irgendwelche Einstellungen vergessen habe.... Oder was mache ich falsch >? Timer einschalten; Overflow...; globale Interuppts; Ohne Interruptroutine geht da gar nichts mehr. >Gebt mir bitte einen kleinen Hinweis..... Kompletten Code liefern und nicht irgendwelche Schnipsel.
OK. Danke.
Das reichte schon als Denkanstoss. Wollte Zeile für Zeile erledigen und
hatte folgendes :
ISR(TIMER0_OVF_vect){;}
noch garnicht drin.
Wie es aussieht was das der Fehler... Aber das werd ich morgen testen...
Ich geb dann nochmal Bescheid..
MFG
Robert
Hab´s grad noch getestet.
Das war der Fehler. Also für alle die das gleiche Problem irgendwann
einmal haben sollten:
Wenn man den Timer aktiviert, muß man ihn auch nutzen .
Also :
TCCR0 |= (1<<CS00); //Prescaler und einschalten
TIMSK |= (1<<TOIE0); //Timer Overflow
sei(); //globale Interupptfreigabe
nicht ohne
ISR(TIMER0_OVF_vect){;}// und dann noch sagen was er überhaupt machen
soll...
Hoffe das hilft irgenwann mal jemanden.
Danke für die Hilfe
MFG Robert
Hi
Nur TIMSK |= (1<<TOIE0); //Timer Overflow
funktioniert nicht ohne
ISR(TIMER0_OVF_vect){;}
Der Rest schon.
MfG Spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.