Hallo Zusammen!
Ich will einen ADXL Beschleunigungssensor auslesen.
Damit die steigenden Flanken des PWM Signals vom ADXL sauber in mein Programm kommen, will ich eine ISR schreiben.
Der Compiler WINAVR (gcc, 3.4.6) mit AVR Studio 4 will den Befehl "GICR" aber nicht kennen, es kommt immer die Fehlermeldung:
../ADSXLR2.c:40: error: `GICR' undeclared (first use in this function)
Könnt Ihr mir weiterhelfen?
Vielen vielen Dank!!
Code:
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include <avr/io.h>
//#define SIG_INTERRUPT0 _VECTOR(1)
SIGNAL(SIG_INTERRUPT0) // signal handler for external interrupt
{
PORTD|=(1<<PD0);
return;
}
int main (void){
DDRD = 0b00000011; //PD0 1 Eingang, Rest Ausgang
PORTD = 0b00001100;
DDRC = 0b00110000;
GICR = (1 << INT0) | (1 << INT1);
MCUCR = 0x03; // INT0 reagiert auf steigende Flanke
sei(); // enable interrupts
for(;;){} // loop "forewer", wait for signal
return 0;
}
Lesezeichen