Gast
#75133
Hallo!
Ich habe da ein Problem: soweit ich weiß sollte das unten angeführte
programm, sobald die Spannung von 0 auf 5 Volt wechselt, die Leds
nacheinander am portC eischalten. Die Leds werden, wenn ich ein
rechtecksignal anlege, aber immer nur bei der FALLENDEN flanke
geschalten!
WARUM?
#include <io.h>
#include <interrupt.h>
#include <sig-avr.h>
#include <string.h>
unsigned char uiLed=0;
void initialisierung(void);
SIGNAL(SIG_INTERRUPT1)
{
sbi(PORTC,uiLed);
uiLed++;
}
int main(void)
{
initialisierung();
while(1)
{
}
}
void initialisierung(void)
{
sei();
outp(0x00, DDRB); /* Port b als Eingang */
outp(0xff, DDRC); /* Port c als Ausgang */
cbi(DDRD, 3); // PD3 als Eingang
sbi(PORTD, 3); // pullup on PD3
outp((1<<INT1), GIMSK); //INT1 enable
outp((1<<ISC10), MCUCR);
outp((1<<ISC11), MCUCR); // INT1 auf STEIGENDE flanke
//einstellen
}