Hallo zusammen!
Ich habe da ein kleines Problem und möchte eigentlich nur wissen, ob ich einen Fehler gemacht habe.... oder es generell nicht funktioniert.
Folgendes...
Als Hardware dient ein ATTiny45v.
Ich nutze den Timer1, um jede Sekunde einen Overflow zu produzieren und in eine Subroutine zu springen.
In der Sub wird eigentlich nur der Pwm0a mit der Variable versorgt und der Timer1 wieder neu gestartet.
Das funktioniert auch bestens!
Gleichzeitig habe ich im Rumpf die PCMSK für die Pins 3 und 4 aktiviert.
Sobald einer der Pins auf Low geht, springt das Programm in die zugehörige Sub.
Auch DAS funktioniert ohne Probleme. (LEDs signalisieren mir den Zustand)
Wenn ich nun aber die Variable "Stellwert" innerhalb meiner SUB vom PCMSK verändere..... die ja meinen Pwm0a steuert (siehe Code oben)... dann reagiert der PWM-Ausgang leider nicht.
Wo liegt nun das Problem?
Wird kein OVF produziert solange ich mich in der Sub befinde, die mittels PCMSK aufgerufen wurde?
Wird der Timer1 durch PCMSK gestoppt?
Kann die Variable "Stellwert" in der SUB vom OVF nicht jede Sekunde aktualisiert werden, weil sie in der SUB vom PCMSK geändert wird?
Muss ich die Variable irgendwie "globalisieren".... oder hat es etwas mit dem Deklarieren von Subroutinen zu tun (dessen Funktion ich bis jetzt noch nicht gebraucht habe..... und auch nicht richtig verstanden habe )?
Vielleicht weiß ja einer der BASCOM-Spezialisten einen Rat.
Danke schon mal und schöne Grüße,
Cassio
Ich habe da ein kleines Problem und möchte eigentlich nur wissen, ob ich einen Fehler gemacht habe.... oder es generell nicht funktioniert.
Folgendes...
Als Hardware dient ein ATTiny45v.
Ich nutze den Timer1, um jede Sekunde einen Overflow zu produzieren und in eine Subroutine zu springen.
In der Sub wird eigentlich nur der Pwm0a mit der Variable versorgt und der Timer1 wieder neu gestartet.
Code:
Tccr1 = &B00000000 'Timer1 Stopp
Pwm0a = Stellwert
Tcnt1 = 11
Tccr1 = &B00001101 'Prescale 4096
Return
Das funktioniert auch bestens!
Gleichzeitig habe ich im Rumpf die PCMSK für die Pins 3 und 4 aktiviert.
Sobald einer der Pins auf Low geht, springt das Programm in die zugehörige Sub.
Auch DAS funktioniert ohne Probleme. (LEDs signalisieren mir den Zustand)
Wenn ich nun aber die Variable "Stellwert" innerhalb meiner SUB vom PCMSK verändere..... die ja meinen Pwm0a steuert (siehe Code oben)... dann reagiert der PWM-Ausgang leider nicht.
Wo liegt nun das Problem?
Wird kein OVF produziert solange ich mich in der Sub befinde, die mittels PCMSK aufgerufen wurde?
Wird der Timer1 durch PCMSK gestoppt?
Kann die Variable "Stellwert" in der SUB vom OVF nicht jede Sekunde aktualisiert werden, weil sie in der SUB vom PCMSK geändert wird?
Muss ich die Variable irgendwie "globalisieren".... oder hat es etwas mit dem Deklarieren von Subroutinen zu tun (dessen Funktion ich bis jetzt noch nicht gebraucht habe..... und auch nicht richtig verstanden habe )?
Vielleicht weiß ja einer der BASCOM-Spezialisten einen Rat.
Danke schon mal und schöne Grüße,
Cassio