Sauerbruch
21.12.2007, 14:08
Hallo zusammen!
Für eine Anwendung muss ich genaue (!) Töne genrieren. Hierzu wollte ich Timer 2 im CTC-PWM-Modus betreiben. Da Bascom den CTC-Modus ja scheinbar nicht direkt unterstützt, wollte ich das TCCR2-Register direkt setzen. Für einen Prescaler von 8 und CTC-Modus müsste es m.E. &B00011010 (=26) sein.
Über OC2 bekomme ich leider kein Signal. Deshalb habe ich ein LCD-Display angeschlossen und mir das TCCR2-Register anzeigen lassen. Es ist überraschenderweise 0 (!), obwohl ich es auf 26 gesetzt habe.
$regfile = "m8def.dat"
$crystal = 3686400
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 ,
Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0
Cursor Off
Cls
Tccr2 = &B00011010
Start Timer2
Do
Locate 1 , 1
LCD "TCCR2: "; TCCR2
Loop
Hat jemand eine Idee, weshalb sich das TCCR2-Register nicht direkt manipulieren lässt? Wenn ich mit config timer2 arbeite und mir TCCR2 anzeigen lasse, stehen plötzlich korrekte Werte im Register. Aber den CTC-Modus kann ich in Bascom ja nicht auswählen, oder??
Für eine Anwendung muss ich genaue (!) Töne genrieren. Hierzu wollte ich Timer 2 im CTC-PWM-Modus betreiben. Da Bascom den CTC-Modus ja scheinbar nicht direkt unterstützt, wollte ich das TCCR2-Register direkt setzen. Für einen Prescaler von 8 und CTC-Modus müsste es m.E. &B00011010 (=26) sein.
Über OC2 bekomme ich leider kein Signal. Deshalb habe ich ein LCD-Display angeschlossen und mir das TCCR2-Register anzeigen lassen. Es ist überraschenderweise 0 (!), obwohl ich es auf 26 gesetzt habe.
$regfile = "m8def.dat"
$crystal = 3686400
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 ,
Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0
Cursor Off
Cls
Tccr2 = &B00011010
Start Timer2
Do
Locate 1 , 1
LCD "TCCR2: "; TCCR2
Loop
Hat jemand eine Idee, weshalb sich das TCCR2-Register nicht direkt manipulieren lässt? Wenn ich mit config timer2 arbeite und mir TCCR2 anzeigen lasse, stehen plötzlich korrekte Werte im Register. Aber den CTC-Modus kann ich in Bascom ja nicht auswählen, oder??