[En-Nut-Discussion] Hanging Interrupts on PIO

Lost Jedi lostjedi32 at yahoo.com
Tue May 4 12:49:17 CEST 2010

--- On Sat, 5/1/10, Pawel <apcom at tlen.pl> wrote:

>     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. 

Hi Pawel,
You're right! Thanks for clearing that up :)

> 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.

Facing the exact problem. The interrupt handler resumes once i manually read the ISR. However I must also add, I'm 'simulating' the interrupts using a wire.

> 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.
> 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.

I tried Low Level triggering with no difference.
But I do vaguely remember reading somewhere that only certain pins on the PIO are capable of different trigger modes? In that case i'm probably still on the default edge-triggering mode.


More information about the En-Nut-Discussion mailing list