Forum: Mikrocontroller und Digitale Elektronik AVR XMEGA-A1 Xplained Interrupt vom PIN


von Marc W. (marc_w)


Lesenswert?

Hallo,

ich habe folgendes Problem. Ich würde gerne an meinem XMEGA-A1 Board am 
PIN  GPIO0 ein Interrupt auslösen, wenn ich eine Spannung dort anlege. 
Geplannt ist, dass ich mit einer Lichtschranke an dem Pin ein High Pegel 
habe, wenn ich sie ausgelöst wird. Ich habe mir das folgendermaßen 
gedacht. Allerings bin ich mit bei der ISR unsicher.
1
#include "avr_compiler.h"
2
#include <xplain.h>
3
#include <gpio.h>
4
5
// Defines for PORTS to use
6
#define LEDPORT PORTE
7
#define PIN PORTD 
8
9
ISR(PORTD_INT0_vect)
10
{
11
  LEDPORT.DIR |= 0xF0; //LED 4-7 an
12
}
13
14
int main( void )
15
{
16
  LEDPORT.DIR= 0x01; // LED 0 an
17
  //PIN.DIR = 0xFF;
18
  sei();
19
  
20
  while(1) 
21
  {
22
    LEDPORT.DIR |= 0x02; // LED 1 an
23
  
24
  }
25
}

Wie schreibt man die ISR richtig? Sodass er bei GPIO0 reagiert?

Gruß Marc

von Marc W. (marc_w)


Lesenswert?

Kann mir wenigstens einer sagen, welche Register man ansprechen muss, 
damit ich einen Pin als Ein oder Ausgang setzen kann und wie ich den 
anspreche.

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.