[En-Nut-Discussion] Hanging Interrupts on PIO

Pawel Czarnecki apcom at tlen.pl
Tue May 4 13:44:28 CEST 2010


> However I must also add, I'm 'simulating' the interrupts using a wire.
    You can also configure pin as output and (same pin) to generate 
interrupt.
So You can change state of this pin by software and this generate interrupt.
Wire generate many interrupt and shows problem but sometimes maybe you
need exactly one pulse :-)

> I tried Low Level triggering with no difference.
    PIO Controller is "internal interrupt source", so AIC can be set only
for "High level Sensitive" (low level is only for external interrupt 
sources)

> 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.
    When pins are controller by PIO Controller (and all are properly 
configured)
they generate interrupt (exactly: sets bits in PIO_ISR) on both edges. 
Afterwards
PIO Controller generate interrupt (if PIO_IMR is set) to AIC. You must check 
by
software if this is positive or negative edge and on which pin.

Maybe You must look to at91sam7 manual to chapter Advanced Interrupt
Controller (AIC) and Parallel Input/Output Controller (PIO). There is
many useful information ;-)

best regards
Pawel




More information about the En-Nut-Discussion mailing list