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.