Ci sono quattro tipi d’interrupts
Altri interrups sono associati alla funzione, “Receive “, dei chip con un UART.
con doppio click sulla forma arancione, si apre la finestra Proprietà.
Come lascia intendere il nome, gli Interrupts, interrompono momentaneamente il programma richiamando l’esecuzione di un’altra funzione specificata in precedenza dal programmatore.
Gli “Interrupts” sono chiamati da un evento esterno, o da un fatto preimpostato nel tempo.
Il numero degli Interrupts disponibili dipende dal microchip utilizzato nel progetto; Il “Data Sheet”, del componente , riporta quali e quanti interrupts dispone.
Dal pannello Proprietà: Interrupts, si può decidere se abilitare (Enable) o meno (Disable) la funzione.
Se si abilita l’interrupts, dalla lista a discesa, si può selezionare il tipo di Interrupts tra quelli disponibili per il componente utilizzato nel progetto.
Nel caso si selezionasse “Timer 0”, nel menu “ Properties” si può impostare il prescaler, che divide la frequenza dell’oscillatore (clock).
Quando il contatore del Timer, interno al chip, supera il numero d’impulsi che può contenere nei suoi registri interni (overflow), il contatore ritorna a zero, questo fatto genera l’impulso che chiama una Macro.
TMR Timer overflow Interrupt
Questo tipo d’interrupt è chiamato ripetutamente, e può essere utilizzato per gestire gli eventi al passare del tempo, ad esempio nella gestione dell’aggiornamento del display.
Dipende dall’impostazione del prescaler e dall’impostazione della frequenza dell’oscillatore del microchip ; pertanto, la funzione TMR, è “device e timer” dipendente.
Ricorrere al contatore interno del chip, è utile se gli eventi degli interventi dello interrupt, non sono governati dall’accuratezza del clock, nel caso fossero, fortemente, dipendenti dalla precisione del contatore, è opportuno aggiungere un orologio esterno, in particolar modo quando si deve gestire un segnale PWM che utilizza il timer interno.
La gestione di PWM o Servocomandi, consumano cicli di clock .
Proprietà TRM-0
Clock source select:
Seleziona se il segnale utilizzato per il Timer overflow, proviene dall’oscillatore interno o da una sorgente esterna.
Source edge select:
Seleziona se intervenire sul fronte di salita o discesa dello stato logico.
Prescaler rate
Il prescaler, divide la frequenza di clock in modo da generare un impulso di overflow più lento.
Il valore da attribuire al prescaler dipende dall’oscillatore usato per il microchip.
INT
Quando uno stimolo esterno, come la pressione di un pulsante collegato al pin, è usato per generare un Interrupts, che può intervenire al passaggio del livello logico zero a livello logico uno o viceversa.
Questo sistema è utile, quando si vuole fermare un programma per un’emergenza, oppure per gestire Start, Stop, Reset di un contatore.
Questa funzione chiama un Interrupt al variare di qualsiasi dei pins I/O di una porta, che possono essere abilitati o no per gestire gli Interrupts.
custom
Questa funzione permette la creazione di un codice personale d’interrupt, quando il chip selezionato per il progetto non ha la funzione richiesta.
Port change
ATMEGA328
TMR0
frequenza del microchip
Prescaler rate
Clock source select:
Source edge select:
IOC PORT B
IOC PORT C
IOC PORT D
Riccardo Monti