[En-Nut-Discussion] Hanging Interrupts on PIO
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.
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