Willa
09.11.2019, 23:19
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)
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:
[...]
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!!
34460
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)
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:
[...]
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!!
34460