Programmazione interrupts sul Raspberry RP2040 2/2

Interrupts temporizzati su Raspberry PI Pico

Come gestire interrupts temporizzati anche complessi sul Raspberry PI RP2040: progettazione, schedulazione ed esecuzione del codice sorgente.

In un precedente articolo abbiamo parlato della gestione di interrupt a eventi con il Raspberry PI Pico. Oggi tratteremo invece gli interrupt temporizzati. Buon divertimento!

Interrupts temporizzati

Oltre a catturare gli interrupt da un ingresso digitale, puoi anche impostare interrupt periodici da un timer hardware in esecuzione sul Pico. Ad esempio, potremmo modificare il programma di lampeggiamento del LED per utilizzare un’interruzione del timer, in modo che funzioni senza la necessità di chiamate alla funzione sleep(). In questo modo si libera il loop eterno per altre attività.

Giusto per rendere il programma un po’ più interessante, il ciclo eterno conta nella Shell, dimostrando che il timer non influenza negativamente qualsiasi altra cosa accada nel programma.
La funzione tick è associata a un’interruzione temporizzata utilizzando il metodo init su Timer. La frequenza dell’interruzione (volte al secondo) è specificata nel parametro freq . La modalità
PERIODIC significa che l’interruzione continuerà a ripetersi. Puoi anche specificare ONE_SHOT , se vuoi che l’interruzione temporizzata avvenga una sola volta. È una buona idea mantenere il codice in una routine di servizio di interruzione il più breve e veloce possibile, perché, anche se può sembrare che Pico stia facendo due cose contemporaneamente, il conteggio viene in realtà interrotto per un periodo molto breve di tempo mentre il LED viene attivato/disattivato nella funzione tick.

Rispetto alla versione a eventi, l’interrupt temporizzato garantisce un funzionamento mantenuto dal timer interno del microcontrollore, senza dover dipendere dalla cattura e riconoscimento di un evento esterno.

 

(Fonte: Programming the Pico)

 

Join our groups on Telegram…

… and don’t forget our social channels!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.