Guten Abend,
ich arbeite an einer Infrarotverbindung, um eine Led an und aus zu
schalten.
Infrarotverbindung (Rc5) funktioniert perfekt!!!
Jetzt wollte ich die Led noch dimmen...
Aus irgendeinem Grund ist die Software Pwm zu langsam!
Desshalb: Hardware Pwm
ABER: Wenn ich die Led mit Pwm betreiben will kommen 4 Errormeldungen.
Mikrocontroller: Attiny25 - 20Pu
Programmiersprache: Bascom
Meine Frage:
-Wiso geht das nicht?^^
Ist der Tiny überfordert/hat zu wenig Timer
Laut datasheet hat er:
2 Timer (- braucht Interrupt für rc5, rc5 und Pwm je ein Timer???)
Programm:
1 | $regfile = "attiny25.dat"
|
2 | $framesize = 32
|
3 | $swstack = 32
|
4 | $hwstack = 32
|
5 | $crystal = 8000000
|
6 |
|
7 |
|
8 | 'Pwm einstellen
|
9 | Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1 '
|
10 | Dim I As Integer
|
11 |
|
12 | 'Rc5 einstellen
|
13 | Config Rc5 = Pinb.3
|
14 | Enable Interrupts
|
15 | Dim Address As Byte , Command As Byte
|
16 |
|
17 | Config Portb.1 = Output
|
18 |
|
19 |
|
20 | 'Variablendeklaration
|
21 | Dim Blinken As Byte
|
22 |
|
23 |
|
24 |
|
25 | 'Hauptschleife
|
26 | Do
|
27 | 'Rc5 Daten reinholen
|
28 | Getrc5(address , Command)
|
29 |
|
30 | 'Adresse Infrarotfernbedinung 20
|
31 | 'Tasten: hoch:112 ; runter:113 ; Stop:53 ; rechts:32 ; links:33
|
32 |
|
33 | If Address = 20 Then
|
34 | If Command = 32 Then
|
35 | Compare1a = 20 '<-------------------Fehler
|
36 | 'Portb.1 = 1
|
37 | 'Pwm = 100
|
38 | Else
|
39 | Compare1a = 20 '<-------------------Fehler
|
40 | 'Portb.1 = 0
|
41 | 'Pwm = 10
|
42 | End If
|
43 | 'Rc5 zurücksetzen
|
44 | Command = Command And &B01111111
|
45 |
|
46 | End If
|
47 |
|
48 |
|
49 | Loop
|
50 | End
|
Fehlermeldung:
Error:46 Line 39 Assignment error [COMPARE1A:0 20: 112] , in File .....
Error:46 Line 43 Assignment error [COMPARE1A:0 20: 112] , in File .....
Error:7 Line: 43 IF THEN expected [43] , in File .....
Error:123 Line: 43 End IF expected [43] , in File .....
(letztere beiden hängen mit den ersten beiden zusammen)
Ich habe das Programm von meinem Atmega88 auf einen Attiny25 übertragen,
bis auf die Pwm geht alles.
Vielen Dank für Tipps und Lösungsvorschläge.
Mit freundlichen Grüßen
Sven