|
Autore |
Messaggio |
opzioni |
skylab
postato il: 06.06.2022, alle ore 15:19 |
Pilotaggio display a 7 segmenti con PIC
Buongiorno a tutti,
dovendo pilotare un 4 display a 7 segmenti in multiplexing per il pilotaggio del display è più corretto utilizzare l'interrupt e quindi a cadenza dettata dall'overfolw aggiorni i dati sul display oppure utilizzare una subroutine che aggiorna i display in loop?
Ringrazio in anticipo chiunque mi aiuti. |
|
caccamo2
postato il: 06.06.2022, alle ore 15:53 |
Sia interrupt che polling si usano per gestire la temporizzazione di attività multiple.
Pilotare i display è un'attività . Qual'e' l'altra? È più o meno importante?
... |
|
gironico
postato il: 06.06.2022, alle ore 17:00 |
il multiplexing per un effetto visivo deve viaggiare costantemente.... non capisco l'uso dell'interrupt....
ci aggiornerai la variabile eventualmente.....da visualizzare
ma il multiplex deve andare di continuo, quindi io opterei per la subroutine che ronza nel loop
La vita è troppo breve per bere vini mediocri |
|
caccamo2
postato il: 06.06.2022, alle ore 17:06 |
gironico: il multiplexing per un effetto visivo deve viaggiare costantemente.... non capisco l'uso dell'interrupt....
ci aggiornerai la variabile eventualmente.....da visualizzare
ma il multiplex deve andare di continuo, quindi io opterei per la subroutine che ronza nel loop
Se nel main loop hai una routine che tiene impegnate le risorse per tempi più lunghi del tempo di refresh desiderato del display, allora occorre usare un timer per generare un interrupt a cadenza fissa al quale il main viene sospeso e viene eseguita la isr.
... |
|
skylab
postato il: 06.06.2022, alle ore 20:59 |
vorrei cercare di riparare una vecchia stazione meteo, utilizzerei i display già esistenti utilizzando un pic per visualizzare i valori di temperatura, umidità e pressione .
Gironico hai ragione, mi sono espresso male, non è il multiplexing che viene gestito dall'interrupt ma l'aggiornamento delle variabile da visualizzare.
Sono indeciso se creare una subroutine che una volta eseguite tutte le misurazione viene richiamata dal main e quindi aggiorni i display oppure utilizzare un interrupt in modo tale da aggiornare i display a cadenza fissa.
grazie per l'aiuto |
|
caccamo2
postato il: 06.06.2022, alle ore 23:30 |
Se non devi fare altre cose, come ad esempio gestire pulsanti o fare medie di qualche genere allora non serve a nulla l'interrupt.
... |
|
rbacchi
postato il: 07.06.2022, alle ore 08:17 |
Io personalmente ho sempre usato un timer che genera interrupt cadenzato per l'aggiornamento dei segmenti. Così si evita influenze delle varie funzioni sulla visualizzazione. Inoltre anche routines che richiedono tempi di esecuzione più lunghi del periodo di refresh non influenzano il display
Se lo puoi fare fallo e non t'arrabbiare,
se non lo puoi fare, pazienza e non t'arrabbiare |
|
skylab
postato il: 07.06.2022, alle ore 10:46 |
Buongirono a tutti,
penso di aver chiarito il mio dubbio.
userò l'interrupt così nel caso in cui volessi aggiungere pulsanti o altre cose non ho problemi con la gestione del display.
Grazie a tutti per l'aiuto! |
|
|