Hey, du hast recht.
Da fehlt der Befehl
Enable Oc1a
Wusste vorher gar net das es einen solchen gibt...
So funktionierts jetzt auf jeden Fall.
Hab aber mittlerweile noch eine andere Lösung gefunden:
Man kann einen Interrupt auf den Timer Overflow legen. der kommt auch immer wenn der Timer von 255 auf 0 springt (vorrausgesetzt TCNT1H ist auf 255) Somit setze ich jetzt einfach die High-Byte auf 255 und das Low-Byte auf 0.
Nach 255 Incrementen kommt dann der Overflow und somit mein Interrupt.
Unter Bascom gibt es dafür noch einen bequemen Befehle:
Load Timer1, 255
Dann berechnet der Compiler alles so, das nach 255 Incrementen ein Interrupt erfolgt.
Das ganze hat den Riesen Vorteil, das ich nun auch auf dem Timer 0 indirekt einen "Compare" habe. Bzw. richtiger ausgedrückt: Einen Interrupt nach einer bestimmten Anzahl an Incrementen.
(In meiner Anwendung benötige ich auch die Fälle, das der Interrupt nach z.B. 100 Incrementen erfolgen soll. Desshalb hatte ich die Idee mit dem Compare...
Gruß Robodriver
Lesezeichen