Bascom hat bis zu der Version .8.1 ein Problem mit dem Tiny26 und den Hochbefehlen für den Timer1.
Ich möchte den Timer ganz normal nutzen um nach einer eingestellten Zeit eine Aktion auszuführen. Das Problem bei Bascom ist die Initalisierung des Timers. Zumindest habe ich das so durch viel Suchen im Forum und im Internet rausgelesen.
Aber die Beispiele die ich da gefunden haben waren alle für PWM oder Fast-PWM.
Hier erstmal der Codeausschnitt:
Die Zeile Config Timer1 = Timer als Zusatz bringt auch kein Erfolg.Code:$regfile = "at26def.dat" $crystal = 16000000 Led Alias Porta.4 Tccr1b = 11 'Prescale=1024 (mit 1a ändert sich auch nix) Config Int0 = Change 'bei jeder Halbwelle reagieren Enable Int0 On Int0 Int0_isr On Timer1 Timer_irq Enable Timer1 Enable Interrupts Int0_isr: Start Timer1 Return Timer_irq: Tcnt1 = Timervorgabe 'der Wert wird im Programm geändert Set Led Return
Auch Pllcsr auf irgend einen Wert setzen ändert nichts.
Wenn alles auf Timer0 gestellt ist funktioniert es. Es liegt also am Timer1.
Ich weiss aber nicht, ob er nicht anläuft oder die ISR falsch aufgerufen wird. Zumindest springt er nicht in die ISR des Timers. In die des INT0 aber schon.
Wer hat denn eine Idee, was ich machen kann, damit die ISR zum richtigen Zeitpunkt aufgerufen wird?
Stacks habe ich schon weiter erhöht.
Über einen Assemblercode den ich einfügen kann wäre ich auch dankbar.
Lesezeichen