PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pwm



hacker
17.04.2005, 20:37
hi,

das ist mein pwm code, funktioniert auch perfekt





$regfile = "m8def.dat"
$crystal = 16000000

Config Pinb.1 = Output
Config Pinb.2 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

Do

Compare1a = 51
Compare1b = 51

Loop

End



mein frage ist, on ich statt dem wert 51 ne variable nehmen kann und die beliebig im programm ändern kann...dass in der variable hochgezählt wird ..und somit der bot langsam anfährt schneller wird und wieder langsam wird usw...

würde des gehn?

mfg hacker

uwegw
17.04.2005, 21:18
probieren geht über studieren! ;) (wobei beim studieren auch rauskommen sollte dass das ganze kein problem darstellt...)

hacker
18.04.2005, 11:26
ja aber ich müsste ja eigentlich während die variable des hochzählt, immer den wert ändern..also gleichzeitig...und da wären wir wieder ja bei dem problem, dass man 2 abläufe nicht gleichzeitig machen kann...oder versteh ich des falsch?

hmm vllt könnte man auch eine schleife anhalten und nach jeder wertänderung des in der pwm ändern? aber dann wirds zu langsam oder?

gruss hacker

RCO
18.04.2005, 12:36
Also so ganz habe ich dich noch nicht verstanden...
Im Grundbrinzip müsste es so aussehen:


$regfile = "m8def.dat"
$crystal = 16000000
Dim I As byte
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

Do
For I = 0 To 255 step 1
Compare1a = I
Compare1b = I
Waitms 200
Next I
Loop

In ca 5,1 Sekunden (256/200ms) ist die Schleife einmal durchlaufen.
Das meintest du doch, oder?

hacker
18.04.2005, 15:24
ähhh ja...wo ich grad deine lösung durchles, überleg ich mir grad au wie ich gedacht hab...wenn ich nochmal drauf komm post ichs evt noch ^^,

aber danke für deine hilfe...

gruss hacker

man bin ich dumm *g