10 input change interrupt, 5 i/o lines programming example – Rainbow Electronics AT91CAP9S250A User Manual

Page 438

Advertising
background image

438

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

Figure 32-5. Input Glitch Filter Timing

32.4.10

Input Change Interrupt

The PIO Controller can be programmed to generate an interrupt when it detects an input change
on an I/O line. The Input Change Interrupt is controlled by writing PIO_IER (Interrupt Enable
Register) and PIO_IDR (Interrupt Disable Register), which respectively enable and disable the
input change interrupt by setting and clearing the corresponding bit in PIO_IMR (Interrupt Mask
Register). As Input change detection is possible only by comparing two successive samplings of
the input of the I/O line, the PIO Controller clock must be enabled. The Input Change Interrupt is
available, regardless of the configuration of the I/O line, i.e. configured as an input only, con-
trolled by the PIO Controller or assigned to a peripheral function.

When an input change is detected on an I/O line, the corresponding bit in PIO_ISR (Interrupt
Status Register) is set. If the corresponding bit in PIO_IMR is set, the PIO Controller interrupt
line is asserted. The interrupt signals of the thirty-two channels are ORed-wired together to gen-
erate a single interrupt signal to the Advanced Interrupt Controller.

When the software reads PIO_ISR, all the interrupts are automatically cleared. This signifies that
all the interrupts that are pending when PIO_ISR is read must be handled.

Figure 32-6. Input Change Interrupt Timings

32.5

I/O Lines Programming Example

The programing example as shown in

Table 32-1

below is used to define the following

configuration.

• 4-bit output port on I/O lines 0 to 3, (should be written in a single write operation), open-drain,

with pull-up resistor

MCK

Pin Level

PIO_PDSR

if PIO_IFSR = 0

PIO_PDSR

if PIO_IFSR = 1

1 cycle

1 cycle

1 cycle

up to 1.5 cycles

2 cycles

up to 2.5 cycles

up to 2 cycles

1 cycle

1 cycle

MCK

Pin Level

Read PIO_ISR

APB Access

PIO_ISR

APB Access

Advertising