_AnDrEa_83 Inserito: 7 dicembre 2010 Segnala Inserito: 7 dicembre 2010 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 dspic33fj256mc710vi ringrazio in anticipo
Livio Orsini Inserita: 7 dicembre 2010 Segnala Inserita: 7 dicembre 2010 Dopo un DI gli interrupts rimangono pendenti sino ad un successivo EI.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora