Hi,
ich habe einen Atmega128 und wollte den Timer2 PWM für die Displaybeleuchtung nehmen. Mein code:
Code:$regfile = "m128def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 100 $swstack = 130 $framesize = 100 $lib "glcd.lbx" Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 3 , Cd = 0 , Wr = 1 , Rd = 5 , Reset = 2 , Fs = 6 , Mode = 8 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config 1wire = Portc.7 Config Clock = Soft , Gosub = Sectic Config Timer2 = Pwm , Compare Pwm = Clear Down , Prescale = 256 Config Timer3 = Pwm , Compare A Pwm = Clear Down , Prescale = 256 Config Serialin = Buffered , Size = 20 Config Portb.7 = Output 'displaybelechtung PWM Displaybeleuchtung = 255 Enable Interrupts Enable Timer2 Timer2 = 0 Start Timer2 Start Adc .... usw. Sectic: Compare2 = Displaybeleuchtung Return
Bei jedem Sekundeninterrupt vom externen Uhrenquarz wird der Wert gesetzt... Der Pin funktioniert! Allerdings nicht im PWM Modus. Ich bekomme rein gar nichts raus. Den Teil "enable timer2, "timer2 = 0" und "start timer2" hab ich in einem anderen Forum gelesen. Brachte aber auch keine veränderung.







Zitieren

Lesezeichen