Bascom PWM Problem

OP #3605355
Lesenswert?

Hallo, ich uss euch was fragen.
Ich übe gerade ein wenig mit PWM und will das ja auch verstehen.

mein Code:
1
$crystal = 1000000                                          'Frequenz: 1 MHz
2

3
$swstack = 50
4
$hwstack = 50
5
$framesize = 50
6

7
Config Portb.1 = Output
8

9
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Up
10

11
Dim A As Integer
12

13
Do
14
For A = 0 To 1023
15
  Compare1a = A
16
  Waitms 10
17
Next
18
A = 0
19
Wait 10
20

21
Loop
22
End
Nach meiner Meinung sollte die LED hell werden dann 10 Sekunden aus usw.

Aber die LED geht 4 mal von dunkel nach hell und bleibt dann 10 Sekunden 
an oO...
Kann mir dass einer erklären? in meinem Buch ist das für mich nicht 
verständlich erklart ( Bascombuch Stefan Hoffmann)
Danke
MFG Pascal
Gast #3605371
Lesenswert?

Pascal B. schrieb:
> Aber die LED geht 4 mal von dunkel nach hell und bleibt dann 10 Sekunden
> an oO...

Wenn man 10 Bit
1
For A = 0 To 1023
in 8 Bit reinschreibt, dann laufen die 8Bit eben 4 mal über.
1
Pwm = 8
Nach Ende des Durchlaufs wird A zwar auf 0 gesetzt, aber das eigentlich 
wichtige Compare1-Register bekommt davon nichts mit.

Ich hoff' mal, dass das nicht so im Buch steht.
OP #3605405
Lesenswert?

nein steht so nicht drin, ist eine Übung von mir.
Das mit dem Überlaufen klingt logisch....
1
$crystal = 1000000                                          'Frequenz: 1 MHz
2

3
$swstack = 50
4
$hwstack = 50
5
$framesize = 50
6

7
Config Portb.1 = Output
8

9
Config Timer1 = Pwm , Pwm = 10 , Prescale = 8 , Compare A Pwm = Clear Up
10

11
Dim A As Integer
12

13
Do
14
For A = 0 To 1023
15
  Compare1a = A
16
  Waitms 2
17
Next
18
Compare1a = 0
19
A = 0
20
Wait 10
21

22
Loop
23
End
so funktioniert es , danke für die hilfe

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren