Forum: Mikrocontroller und Digitale Elektronik Basic und AVR und Timer0


von Kurt (Gast)


Lesenswert?

Hallo Leute,

hab ein Grafikdisplay mit T6963C am Mega 16
über BASCOM AVR am Laufen.
Es bringt die Zeichen auf die Fläche.

Nun wollte ich eine "Zeit" mit einsetzen,
aber..

Hab Timer0 mit Interrupt verwendet.

Wenn nun das Display beschrieben wird, dann entstehen unerwünschte
Linien.

Wenn ich den interupt ausschalte (wärend des Schreibens ans Display)
dann sind keine Störungen vorhanden.

Kommen sich da die Treiber ins Gehege, oder ist es ein Timingproblem
mit dem Display?


Kurt

von papa_of_t (Gast)


Lesenswert?

Wenn Dein Hauptprogramm nicht so Zeitkritisch ist - aktualisiere doch
das Display in der Interrupt-Routine und bereite die anzuzeigenden
Werte im Hauptprogramm vor..

Oder Du verwendest den Timer ohne Interrupt (z.B. Timer1, der zählt
weiter) und schreibst in Deiner Hauptprogramm-Schleife IF Timer1 > XXX
THEN display aktualisieren, timer auf null stellen.

Außerdem kann man probieren, den gesamten Quelltext der ISR erstmal zu
kommentieren - evtl. verändert die Routine einige Register fürs LCD

Schließlich - was Du schon gemacht hast - vorher DISABLE INTERRUPTS,
nach dem Display schreiben ENABLE INTERRUPTS

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
Noch kein Account? Hier anmelden.