-
-
Neuer Benutzer
Öfters hier
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;
}
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen