Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Comportamento PIC con n. 2 Timer interrupt vicini

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: Comportamento PIC con n. 2 Timer interrupt vicini

Messaggioda Foto Utentedemos81 » 28 set 2014, 22:36

Scusate, forse ho capito dove sta la cavolata cosmica alla base del mio ragionamento.
Su un datasheet di uno dei tanti PIC trovo:
When an instruction that clears the GIE bit is executed, any interrupts that were pending for execution in the next cycle are ignored. The interrupts, which were ignored, are still pending to be serviced when the GIE bit is set again.
e inoltre:

The interrupt flag bit(s) must be cleared in software before re-enabling interrupts to avoid multiple interrupt
requests.

Insomma non perdo esecuzioni, ricordavo un concetto all'esatto opposto. Mea culpa!
Avatar utente
Foto Utentedemos81
1.479 1 6 8
Expert EY
Expert EY
 
Messaggi: 601
Iscritto il: 16 mar 2009, 20:56

0
voti

[12] Re: Comportamento PIC con n. 2 Timer interrupt vicini

Messaggioda Foto UtenteWALTERmwp » 28 set 2014, 22:38

demos81 ha scritto:n teoria ho sempre letto che se io esco dalla routine di interrupt senza aver resettato un flag questo non darà più luogo a un interrupt per l'assenza del nuovo fronte di salita che dovrebbe attivarlo.
... infatti.
Se tu vedi la flag, gestisci l'azione da te prevista ed associata e resetti la flag medesima.
Se non la vedi ( ... perché sei già "oltre" nel processo sequenziale della ISR) non fai niente ma, appunto, la flag è e rimane attiva; ricordati che in questa condizione, mentre cioè operi all'interno della ISR, sei sempre con GIE disattivato.
Quando esci dalla ISR, la concomitanza del ripristino del GIE e della presenza dello stato ancora attivo della flag (rimasta appunto attiva perché non la hai vista e quindi non la hai "resettata"), consentono il "passaggio" di un altro "trigger" che causa, di nuovo, la esecuzione della ISR.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8990
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

Precedente

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti