Capitolo 5. Interruzioni
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Le interruzioni possono fare paura. Sono uno degli elementi che rendono i sistemi embedded diversi dal software applicativo tradizionale. Le interruzioni arrivano dal nulla e cambiano il flusso del codice. Possono chiamare con sicurezza solo alcune funzioni (e di solito non le funzioni di debug). Gli interrupt devono essere veloci, tanto da essere un pezzo di codice che occasionalmente viene ancora scritto in linguaggio assembly. Inoltre, i bug negli interrupt sono spesso difficili da trovare perché, per definizione, si verificano in modo asincrono (al di fuori del normale flusso di esecuzione).
Tuttavia, gli interrupt non sono gli spauracchi che sono stati fatti passare per tali. Se capisci cosa succede quando si verifica un'interruzione, scoprirai dove possono essere utili nella progettazione del tuo software.
Una gallina preme un pulsante
Considera gli interrupt come una macchina di Rube Goldberg1 con l'obiettivo di comunicare al tuo software che è successo qualcosa al di fuori del normale flusso di codice. Consideriamo la gallina della Figura 5-1.
Figura 5-1. Un pollo preme un pulsante che porta a una cascata di azioni che termina con il codice nel ciclo dell'evento che esegue un'azione
Il pollo preme un pulsante. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access