PIC e multitasking: come ovviare...

Sezione dedicata all'elettronica in generale.
Rispondi
m.rossi
Junior
Junior
Messaggi: 55
Iscritto il: mercoledì 4 febbraio 2009, 23:44
Località: parma

Re: PIC e multitasking: come ovviare...

Messaggio da m.rossi » martedì 10 febbraio 2009, 18:55

davideciarm ha scritto:grazie mille per le dritte...
vorrei capire una cosa, come faccio dal main a memorizzare "a piacimento" i tempi di PWMtmr[x]?
ti spiego, per come l'ho fatto io, se pwmtmr[x]= contatore fa l'azione e poi devo memorizzare il successivo valore, perchè così sono sicuro che il valore che scrivo (es.10,) avviene dopo preciso 10 scatti del contatore...non so se mi sono spiegato...per come l'ho fatto io mi esegue tutto il fade su un led (tempi per un solo led...se 2 led dovrebbe cambiare per i calcoli in più) in circa 150uS, aumentabile tramite trimmer esterno. nel main andrei bene se avessi tempi più ampi, o sbaglio?
mi sa che tu confondi quello che viene fatto dentro l'interrupt (la gestione del pwm "software") con quello che devi fare fuori (la rampa di accensione o spegnimento).
La domanda if (pwmtmr[x]== contatore) la fa solo l'interrupt, tu te la devi scordare, poi la tempistica di accensione spegnimento (semplicemente scrivendo i valori da 0 a 32 in pwmtmr[x]) la fai nel main in base a un'altra temporizzazione molto più lenta, che può essere data da un altro timer hw (inutile) o dallo stesso timer che usi per il pwm, utilizzato come base dei tempi che incrementa una variabile per farne un multiplo più lungo, e che puoi vincolare al trimmer che dice ogni quanto incrementare questa variabile (anch'io non so se mi sono spiegato...).
Altra cosa che non ho capito: per fade su un led intendi la rampa da 0 a luminosità  massima? e la fai in 150us?
che problema potrei avere lasciandolo così?
nessuno, solo che io non ci capisco... :mrgreen:

davideciarm
Junior
Junior
Messaggi: 103
Iscritto il: mercoledì 4 febbraio 2009, 12:50
Località: Caserta

Re: PIC e multitasking: come ovviare...

Messaggio da davideciarm » martedì 10 febbraio 2009, 19:08

m.rossi ha scritto:Altra cosa che non ho capito: per fade su un led intendi la rampa da 0 a luminosità  massima? e la fai in 150us?
si...ma è un tempo ipotetico, minimo, che può variare con il trimmer, fino a qualche secondo! è solo un minimo...ah! 150mS! non micro :wink:
m.rossi ha scritto: nessuno, solo che io non ci capisco... :mrgreen:
ahahah bellissima :mrgreen: vabbè...cercherò di accontentarti ja! al più presto :D

Rispondi

Torna a “Elettronica”