Hi,
nach langer Pause benutze ich mal wieder Bascom für meinen xmega32a4. Ich möchte per Code den Prescaler eines Timers umstellen, ist das möglich? Ich finde den passenden Registernamen dafür nicht . Vielleicht kann mir jemand helfen. Ziel ist es ein spezielles PWM "Doppelpuls" Signal zu erzeugen (siehe Oszi Foto)
Beispiel:
Funktionierender Code (in der isr des Timers)
Code:
Select Case Toggler
Case 0 :
Config Tcd0 = Normal , Prescale = 1
Tcd0_per = High_count
Case 1 :
Config Tcd0 = Normal , Prescale = 1
Tcd0_per = Low_count
Case 2:
Config Tcd0 = Normal , Prescale = 1
Tcd0_per = High_count
Case 3 :
Config Tcd0 = Normal , Prescale = 8
Tcd0_per = Pause_count
End Select
Ich möchte nun aber den Wert für den Prescale per Variable ändern können. Folgendes funktioniert aber NICHT:
Code:
[...]
dim High_prescale as Word
dim low_prescale as Word
dim pause_prescale as Word
[...]
Select Case Toggler
Case 0 :
Config Tcd0 = Normal , Prescale = High_prescale
Tcd0_per = High_count
Case 1 :
Config Tcd0 = Normal , Prescale = Low_prescale
Tcd0_per = Low_count
Case 2:
Config Tcd0 = Normal , Prescale = High_prescale
Tcd0_per = High_count
Case 3 :
Config Tcd0 = Normal , Prescale = Pause_prescale
Tcd0_per = Pause_count
End Select
Gibt es ein Register, in welches ich den Prescale Wert direkt schreiben kann? Danke für eure Tipps!!
Lesezeichen