PWM - kodexempel?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Rollo
Inlägg: 217
Blev medlem: 2 januari 2004, 19:23:29

PWM - kodexempel?

Inlägg av Rollo »

Hejsan!
Har precis gjort färdigt en LED-tärning. Lyckade t.om. knåpa ihop så att den saktar ner efter att man släppt knappen. Och om man väl har släppt knappen så händer det givetvis ingenting förrän den är färdig.

Men för att göra den lite roligare tänkte jag låta den "fade(a)" lysdioderna.
Jag har googlat och kollat på forumet men inte blivit mycket klokare.

Någon vänlig själ som skulle vilja ge ett litet kodexempel. Jag använder PIC basic och en hederlig 16f628...

Tack!
Rollo
Inlägg: 217
Blev medlem: 2 januari 2004, 19:23:29

Inlägg av Rollo »

löste sig!

Kod: Markera allt

loopVar var byte

for loopVar = 0 to 255
pwm portb.6, loopVar, 1 			   
       
next 							
*edit* Jag lyckas däremot inte få den att fade(a) hela portb samtidigt...Någon som vet?
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

skriv en egen PWM-rutin. Så länge µC inte sysslar med något annat just för tillfället då lysdioderna ska fejdas så är det inga problem med en egen PWM-snutt.
Du skriver i C? Jag kan väl försöka ge lite pseudokod isåfall.
För hela portB samtidigt:

Kod: Markera allt

for loopVar = 0 to 255 

  portb = 255
  wait loopVar
  portb = 0
  wait (255-loopVar)
       
next 


Det är principen. Sen bör du nog justrera värdena en bit, den här bör ta ~65,5s (om wait är i ms) att genomföra som den är nu.
Skriv svar