- Messaggi: 127
- Ringraziamenti ricevuti 14
Polling
13 Anni 3 Settimane fa #1
da stainless
int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}
Polling è stato creato da stainless
Ciao
ho letto della possibilità di usare questa tecnica al posto degli interrupt ma non ho trovato informazioni esaustive in merito. Da quello che ho capito con il polling il microcontrollore deve testare tutti gli I/O di interesse, elaborare dei dati e modificare lo stato degli I/O di conseguenza, mentre con gli interrupt il micro viene avvisato di un cambiamento di stato e agisce di conseguenza.
Se ciò è corretto l'interrupt risulta più efficiente del polling e allore perchè e quando usare l'una o l'altra tecnica?
ho letto della possibilità di usare questa tecnica al posto degli interrupt ma non ho trovato informazioni esaustive in merito. Da quello che ho capito con il polling il microcontrollore deve testare tutti gli I/O di interesse, elaborare dei dati e modificare lo stato degli I/O di conseguenza, mentre con gli interrupt il micro viene avvisato di un cambiamento di stato e agisce di conseguenza.
Se ciò è corretto l'interrupt risulta più efficiente del polling e allore perchè e quando usare l'una o l'altra tecnica?
int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}
Si prega Accedi o Crea un account a partecipare alla conversazione.
- stainless
- Autore della discussione
- Premium Member
Riduci
Di più
13 Anni 2 Settimane fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Polling
Ciao,
la tua interpretazione e' corretta.
In effetti gli Interrupt sono più efficienti in termini di potenza, visto che in attesa di un evento puoi non fare nulla e mandare in stato di sleep il microcontrollore.
Normalmente gli interrupt sono fatti in maniera da risvegliare il microcontrollore.
In applicazioni professionali si fa uso quasi sempre degli interrupt, ma normalmente l'uso del polling e' più facile per chi e' all'inizio, visto che bisogna conoscere l'architettura del microcontrollore in minor dettaglio.
In ogni modo ci sono applicazioni in cui può tornare conveniente usare il polling al fine di permettere alle interruzioni di interrompere il ciclo in polling. In questo modo e' come avere due livelli di priorità.
Bassa priorità "gira" in polling mentre l'alta fa uso delle interruzioni.
In diverse applicazioni di esempio faccio presentate sul sito faccio uso del polling.
Per il corso sugli MSP430 che ho iniziato da poco, visto che gli MSP430 sono usati in applicazioni Ultra Low Power, utilizzare le interruzioni e' fondamentale al fine di garantire bassi consumi, ovvero tempi in cui la CPU deve rimanere attiva.
Saluti,
Mauro
la tua interpretazione e' corretta.
In effetti gli Interrupt sono più efficienti in termini di potenza, visto che in attesa di un evento puoi non fare nulla e mandare in stato di sleep il microcontrollore.
Normalmente gli interrupt sono fatti in maniera da risvegliare il microcontrollore.
In applicazioni professionali si fa uso quasi sempre degli interrupt, ma normalmente l'uso del polling e' più facile per chi e' all'inizio, visto che bisogna conoscere l'architettura del microcontrollore in minor dettaglio.
In ogni modo ci sono applicazioni in cui può tornare conveniente usare il polling al fine di permettere alle interruzioni di interrompere il ciclo in polling. In questo modo e' come avere due livelli di priorità.
Bassa priorità "gira" in polling mentre l'alta fa uso delle interruzioni.
In diverse applicazioni di esempio faccio presentate sul sito faccio uso del polling.
Per il corso sugli MSP430 che ho iniziato da poco, visto che gli MSP430 sono usati in applicazioni Ultra Low Power, utilizzare le interruzioni e' fondamentale al fine di garantire bassi consumi, ovvero tempi in cui la CPU deve rimanere attiva.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.