Forum: Mikrocontroller und Digitale Elektronik UC3B Externen Interrupt aktivieren


von Michael_SS (Gast)


Lesenswert?

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.

von Michael_SS (Gast)


Lesenswert?

Den Glichfilter habe ich auch gesetzt:

gpio_port->gfers = (1<<PA23);

von DerDan (Gast)


Lesenswert?

Also ich mach es immer so,

dass ich mir ein passendes Beispielprojekt aus über das ATMEL Studio 
ziehe um dann die Dinge zu studieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.