[En-Nut-Discussion] Hanging Interrupts on PIO

Pawel apcom at tlen.pl
Sat May 1 11:52:02 CEST 2010


> A slight anomaly I noticed was that another pin is also registering an interrupt in the ISR. 
> In this case, PB3 - the TX pin of the Ethernet. This is odd, since i haven't enabled the IER 
> for that pin and neither am I using the Ethernet port. Checking PIOB_IMR before and after the 
> interrupts hang shows that the pin isn't enabled as an interrupt either.
    PIO_ISR have 1 when "At least one Input Change has been detected on the I/O line since 
PIO_ISR was last read or since reset." Nothing else. If you don't set PIO_IMR pio controller
don't generate any interrupt. 

> Any clues on whats happening?
I have similar problem with pio interrupt. When I put many, fast impulses on PIO after
some time (minutes, hours) interrupt routine isn't fired. Simply because PIO_ISR
is set and not readed. This problems is when I leave default interupt mode - Positive 
edge triggered. I don't know why but I lost positive edge and all pio interrupt hang.
A try many tricks and spend many hours on it. I start thinking that PIO Controler is 
buggy. Last time I set mode to level sensitive. Interrupt routine will be called until you 
clear PIO_ISR. Looks better on desk, but I don't check this in production 
environment. In 2 weeks I will know more.

best regards
Pawel




More information about the En-Nut-Discussion mailing list