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.