//
// Example with external interrupt
// By PEK '2007
//
// MCU: AT91SAM7S256
//

#include "Board.h"

// PIOA ISR
void isr_pioa(void)
{
    static unsigned int nCntr = 0;

    nCntr++;
}

// Main
int main()
{
    // Setup PIO
    AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOA);	// Enable clock
    AT91F_PIO_CfgInput(AT91C_BASE_PIOA, AT91C_PIO_PA15);	// Input on PA15
    AT91F_PIO_InterruptEnable(AT91C_BASE_PIOA, AT91C_PIO_PA15);	// Interrupt on PA15

    // Setup interrupts
    AT91F_AIC_ConfigureIt(AT91C_BASE_AIC, AT91C_ID_PIOA, AT91C_AIC_PRIOR_LOWEST, 0, isr_pioa);
    AT91F_AIC_EnableIt(AT91C_BASE_AIC, AT91C_ID_PIOA);

    while(1);
}
