DanielV.
22.09.2007, 13:28
Hallo Zusammen,
ich habe ein Problem mit meinem AVR. Und zwar möchte ich mit den Externen Interrupts arbeiten. Innerhalb der Interrupt Routine verändere ich den Port C DOch nach dem die Interrupt Routine abgeschlossen ist wird der Port wieder zurückgesetzt.
NAchfolgen mein Programm:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>
volatile int temp;
uint8_t temp1;
ISR(INT0_vect) // Routine für die Behandlung des Interrupts für Bahnn 1
{
PORTC = 0x01;
}
int main (void) {
DDRC = 0xff; // Port C als Output
PORTC = 0x00;
DDRD = 0x00; // Port D als Input
MCUCR |= (1<<ISC01)|(1<<ISC11);
GIMSK |=(1<<INT0)|(1<<INT1);
sei();
while(1)
{
temp1++;
}
return 0; // (6)
}
Vielen Dank für eure Hilfe
ich habe ein Problem mit meinem AVR. Und zwar möchte ich mit den Externen Interrupts arbeiten. Innerhalb der Interrupt Routine verändere ich den Port C DOch nach dem die Interrupt Routine abgeschlossen ist wird der Port wieder zurückgesetzt.
NAchfolgen mein Programm:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>
volatile int temp;
uint8_t temp1;
ISR(INT0_vect) // Routine für die Behandlung des Interrupts für Bahnn 1
{
PORTC = 0x01;
}
int main (void) {
DDRC = 0xff; // Port C als Output
PORTC = 0x00;
DDRD = 0x00; // Port D als Input
MCUCR |= (1<<ISC01)|(1<<ISC11);
GIMSK |=(1<<INT0)|(1<<INT1);
sei();
while(1)
{
temp1++;
}
return 0; // (6)
}
Vielen Dank für eure Hilfe