Ich hab mein programm jetzt nochmal korregiert jedoch bekomme ich jetzt diesen fehler:
../ADWANDLER.c:32: error: `GICR' undeclared (first use in this function)

mein compiler erkennt irgendwie das GICR register nicht?!


ich verwende übrigens einen atmega32

erkennt irgendwer den fehler?


//Hauptprogramm

#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>

void ADC_Init(void); //Prototyp des Unterprogramms

int main (void)

{

//Definitionen der Ports

DDRC = 0xff; //Port A als Ausgang definieren
PORTC = 0x00; //Port A wird auf low gelegt
DDRB = 0xff; //Port B als Ausgang definieren
PORTB = 0x00; //Port B wird auf low gelegt

DDRD = 0x00; //Port D als Eingang definieren
PORTD = 0xff; //Pull-Up aktivieren




sei(); //Interruptes global erlauben
GICR |= (1<<INT0); //Interruptauslösung erlauben
MCUCR |= (1<<ISC01)|(1<<ISC00); //Steigende Flanke löst Interrupt aus

ADCSRA |= (1<<ADEN); // ADC aktivieren
ADMUX = (1<<REFS1) | (1<<REFS0); //Verwendung der internen Referenzspannungsquelle

while(1)
{}

}

ISR(INT0_vect) //INT0 ist der externe Interrupt0
{

ADC_Init(); //Aufruf des Unterprogramms ADC_Init

}


//--------------------------------------------------------------------------------------------
//Erstellung eines Unterprogramms zur AD Wandlung


void ADC_Init(void)
{

uint16_t xl,xh;

ADCSRA |= (1<<ADSC); // Start einer ADC-Wandlung im single mode Betrieb

xl = ADCL;
xh= ADCH;

PORTC = xl;
PORTB = xh;

}