Vai al contenuto
PLC Forum


Pic & Interrupt


_AnDrEa_83

Messaggi consigliati

Salve a tutti,

avrei una domanda riguardante la condivisione di una variabile

tra 2 routines una delle quali interrupt,

l'interrupt generato da eventi esterni ( quindi non determinabile a priori )

che si occupa semplicemente di incrementare una variabile ( pippo )

la seconda e' scadenzata da un timer ed ad intervalli regolari salva pippo e la azzera.

ora devo assolutamente evitare che tra il salvataggio e l'azzeramento ci caschi un interrupt che andrebbe quindi perso,

l'idea e' quella di disabilitare e poi riabilitare gli interrupt cosi:

char saved_ipl;      
SET_AND_SAVE_CPU_IPL(saved_ipl,7);	
tmp = pippo;
pippo = 0;        
RESTORE_CPU_IPL(saved_ipl);

la mia domanda e':

se mi viene generato un interrupt mentre sono disabilitati, verra' servito quando li riabilito o lo perdo?

per completezza: utilizzo compilatore c30 e il dispositivo e' un dspic33fj256mc710

vi ringrazio in anticipo

Link al commento
Condividi su altri siti


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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...