Hallo,
ich würde gerne eine Steuerung über PWM realisieren.
Da ich mit Bascom arbeite habe ich mir das durchgelesen:
http://www.rn-wissen.de/index.php/Bascom_und_PWM
Mein Programm nun für den ATmega32 (fast das aus dem Link):
1 | $regfile = "m32def.dat"
|
2 | $crystal = 8000000
|
3 |
|
4 |
|
5 | Config Portb.1 = Output
|
6 | Config Portb.2 = Output
|
7 |
|
8 | Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
|
9 |
|
10 | Do
|
11 | Compare1a = 205
|
12 | Compare1b = 51
|
13 | Loop
|
14 |
|
15 | End
|
Die LED habe ich an Pin 2 (PB1) vom ATmega32 angeschlossen.
Ist das Programm überspiel leuchtet auf meinem Atmel EV Vers. 2.01 die
LED 1 vom Pin 19 (PD5).
Zum Test: Das Programm lässt die an den Pin 2 angeschlossene LED
leuchten:
1 | $regfile = "m32def.dat"
|
2 | $crystal = 8000000
|
3 |
|
4 | Config Portb.1 = Output
|
5 | Config Pind.2 = Input
|
6 |
|
7 | Do
|
8 |
|
9 | If Pind.2 = 1 Then
|
10 | Portb.1 = 1
|
11 | Bitwait Pind.2 , Reset
|
12 | Else
|
13 | Portb.1 = 0
|
14 | Bitwait Pind.2 , Reset
|
15 | End If
|
16 |
|
17 | Loop
|
18 |
|
19 | End
|
Was habe ich denn da falsch gemacht? Warum leuchtet die falsche LED?
Muss ich vielleicht noch eine Portb.1 = 1 hinzufügen?
Vielen Dank!