Gast
#162556
Hallo Forumgemeinde!!
Ich habe ein Problem mit dem einlesen eines Tasters. Der Taster wird im
Int0 abgearbeitet.
interrupt [EXT_INT0] void ext_int0_isr(void)
{
delay_ms(30); // zum entprellen
if((PIND.5 == 0)&&(modus_hoch == 0))
{
modus_hoch = 1;
PORTC.3 = 1; // LED als Anzeige
}
if((PIND.5 == 1)&&(modus_hoch == 1))
{
modus_hoch = 0;
PORTC.3 = 0;
}
}
Dabei ist "modus_hoch" eine globale "unsigned char" Variable.
Eigentlich müsste beim drücken der Taste die LED an gehen und beim
zweiten mal losslasen die LED wieder aus gehen. Aber das funktioniert
oft überhaupt nicht richtig!! Mal geht sie beim ersten loslasen wieder
aus oder erst nach dem 3. oder 4. mal drücken!!
Das kommt mir sehr merkwürdig vor!
Hat da eventuell jemand etwas mehr ahnung davon wie ich??
Schönen Sonntag Abend noch!!
Gruß Marcel