stefano_ Inserito: 16 dicembre 2004 Segnala Share Inserito: 16 dicembre 2004 salve a tutti,ho realizzato un programma con proton+ compiler ver. 2.1.3,il mio problema è che ho un ciclo che si ripete allinfinito attraverso il quale gestisco 4 display a 7 segmenti multiplexandolicon un intervallo di 5ms.Il problema è che in un determinato caso avrei bisogno di attivare un uscitaper 2 secondi per poi disattivarla senza però interrompere il "multiplexing" dei display( perdonatemi il termine ).C'è una soluzione ???proton mi da la possibilita ( anche se non ne sono molto capaca ) di scrivere anche in assembler, se puòservire per risolvere questo problema ben venga !!Grazie a tutti Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 16 dicembre 2004 Segnala Share Inserita: 16 dicembre 2004 Non conosco proton e non dici niente circa le uscite. Con qualsiasi microcontrollore di mia conoscenza il problema si risolve facilmente. Quando hai le condizioni per atttivare l'uscita chiami una sub o una function che attiva l'uscita e carica un timer al tempo desiderato (2"), poi esce dalla sub o dalla funct. Allo scadere del timer chiami un'altra function o dub che disattiva l'uscita. Il timer lo verifichi in polling oppure lo leghi ad un interrupt Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 16 dicembre 2004 Autore Segnala Share Inserita: 16 dicembre 2004 ciao Livio e grazie per la tua risposta,credo di aver capito il tuo discorso tranne quando parli di interrupt cosa è e come lo si gestisce ??? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 17 dicembre 2004 Segnala Share Inserita: 17 dicembre 2004 Ho paura che ti manchino un po' di conosicenze di base.Comunque un interrupt, solitamente è un evento legato ad una condizione di un segnale: una linea di ingresso, una periferica (tipo un timer). All'acadere dell'evento il programma s'interrompe ed esegue la routine legata all'interrupt.Non è semplice ne facile spiegarlo in due righe di post. Dovresti leggerti qualche cosa sui manuali dei processori chestai usando. Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 17 dicembre 2004 Autore Segnala Share Inserita: 17 dicembre 2004 ok, grazie 1000sto già leggendo qualcosina come il tut di tanzilli ma non è proprio così facilegrazie ancora, ciao ciao Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 17 dicembre 2004 Segnala Share Inserita: 17 dicembre 2004 Io non uso il basic, ma ti potrei consigliare di fare il contrario.Userei un interrupt di un timer per fare il multiplex del display e di usare il ciclo principale per fare tutte le altre cose . Link al commento Condividi su altri siti More sharing options...
Claudio F Inserita: 18 dicembre 2004 Segnala Share Inserita: 18 dicembre 2004 Mi aggiungo con una terza considerazione... si puo' fare tutto anche senza interrupt, a patto di avere una frequenza precisa a cui agganciarsi con l'elaborazione, questa puo' essere per esempio il bit di overflow del timer, o una frequenza esterna in arrivo su un pin. Il programma attende il fronte di salita (o di discesa), poi richiama tutte le routines, ed infine si rimette in attesa di un nuovo fronte (o di un nuovo overflow del timer). Queste routines vengono cosi' richiamate periodicamente ad intervalli precisi, per esempio di 5mS, una puo' occuparsi di comandare il display, l'altra di conteggiare 2 secondi (pari a 400 chiamate) ecc. Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 18 dicembre 2004 Autore Segnala Share Inserita: 18 dicembre 2004 ok,provo subito quella di claudio F ... speriamo bene Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora