OK ich habs grad mal getestet....
Sollte gehen... hab leider keinen Tiny24 hier.
Code:
$regfile = "attiny24.dat"
$crystal = 8000000
Config Porta.5 = Output 'OC1B
Config Porta.6 = Output 'OC1A
Config Portb.2 = Output 'OC0A
Config Porta.7 = Output 'OC0B
Config Timer0 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Do
'Timer0 PWM-Register (8 Bit)
Ocr0a = 128
Ocr0b = 128
'Timer1 Register (10 Bit)
'kann man so schreiben...
Compare1a = 512
Compare1b = 512
'...oder auch so (zwei Byte):
Ocr1al = 0
Ocr1ah = 2
'Und f¸r den 2. Kanal genauso:
Ocr1bl = 0
Ocr1bh = 2
Loop
End
Ob das mit Compare1a = 512 funktioniert, weiß ich nicht, sollte es aber theoretisch.
Das wäre dann die PWM mit 10 Bit. Bei 8 Bit natürlich wieder nur 255 maximal.
Ocr1al/Ocr1al ist ein zweiteiliges Register, da 10 Bit.
Gefunden hab ich das alles auf Seite 212 des Datasheets.
http://www.atmel.com/dyn/resources/p...ts/doc8006.pdf
0x2B (0x4B) - OCR1AH Timer/Counter1 – Compare Register A High Byte - Page 117
Entsprechend geht das dann auch für andere AVRs.[/code]
Lesezeichen