PWM mit Attiny45

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

PWM mit Attiny45

Von modellfreund am 22.10.2011 10:52

Hallo,

ich möchte eine RGB-LED mit einem Attiny45 ansteuern. Die LED habe ich an die Ports PB.0, PB.1 und PB.4 angeschlossen.

Mein Problem liegt nun darin, dass ich nicht weiß wie ich die Timer konfigurieren soll, könnt Ihr mir da weiterhelfen?

MFG Felix

Von Sam am 22.10.2011 10:56

Da kannst du dir das Ganze mal ansehen:
http://www.rn-wissen.de/index.php/Bascom_und_PWM

Von modellfreund am 22.10.2011 11:30

Ich poste mal den Code. Die LED leuchtet, macht aber nicht das, was sie soll.

Code:
$regfile = "attiny45.dat"
$crystal = 4000000
$hwstack = 40
$swstack = 16
$framesize = 32


Config Portb.0 = Output                                     'Blau
Config Portb.1 = Output                                     'Grün
Config Portb.4 = Output                                     'Rot

Config Timer0 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
Enable Timer0

Config Timer1 = Pwm , Compare B Pwm = Clear Down , Prescale = 1
Enable Timer1


Dim R As Byte
Dim G As Byte
Dim B As Byte

R = 20
G = 40
B = 80

Do


Ocr1b = R
Compare0b = G
Compare0a = B

Loop

End

Von Sam am 22.10.2011 11:35

Was macht die LED denn?

Und das

Code:
Ocr1b = R
Compare0b = G
Compare0a = B
kannst du ruhig aus der Hauptschleife nehmen.

Von modellfreund am 22.10.2011 11:44

Edit:

Die PWM bei den Ausgängen PB.0 und PB.1 funktionieren. Nur PB.4 sagt gar nichts.

Von modellfreund am 22.10.2011 18:51

Hat denn keiner eine Idee? Es ist "nur" Port B.4 der nicht funktioniert.

Von Sam am 22.10.2011 18:55

Ersetze mal das "Ocr1b = R" durch "Compare1b = R" oder "PWM1b = Rot".

Von modellfreund am 22.10.2011 19:20

Dann kann er den Code nicht fehlerfrei Übersetzen.
Kann doch eigentlich nur an der Konfiguration liegen oder?