Gast
#4737695
Hallo zusammen.
Ich möchte mit dem AT32UC3B einen externen Interrupt aktivieren.
Dazu habe ich den PORT PIN PA23 entsprechend verdrahtet und laut
Datenblatt kann ich die Funktion des EXTINT[3] mit diesem PIN nutzen.
Ich habe folgendes gemacht:
void InitGPIO(void)
{
volatile avr32_gpio_port_t *gpio_port;
gpio_port = &AVR32_GPIO.port[PORTA];
// !INT, tristate
gpio_port->gperc = (1<<PA23); //Peripherie
gpio_port->oderc = (1<<PA23);
gpio_port->puerc = (1<<PA23);
}
Meine ISR soll so aussehen:
__attribute__((interrupt))
static void PA23()
{
volatile avr32_gpio_port_t *gpio_port;
gpio_port = &AVR32_GPIO.port[PORTA];
gpio_port->ovrc = (1<<PA22); //Kill auf LOW
}
Die globale Interruptfreigabe habe ich bereits aktiviert.
Was muss ich jetzt noch machen, um dem Controller mitzuteilen, dass der
EXTINT[3] auch die entsprechende ISR ausführt?
Könnt ihr mir hier weiterhelfen?
Muss ich hier noch die Zuordnung zu einer Interrupt Gruppe vornehmen?
Danke für Eure Hilfe.