Gast
#1538526
Hallo zusammen!
Ich habe ein Problem mit meinen Taste, ich glaube, dass es nicht ein
Problem der Entprellung ist.
Also ich habe hier ein stk600, wo die Taster immer HI sind, halt beim
Drücken runtergezogen werden. Für die Taster habe ich hier entsprechend
einen Timer der die Tasten regelmäßig abfragt, die Tasten werden dann
entsprechend in der main abgearbeitet.
unsigned char taste=0;
ISR(TIMER0_OVF_vect){
if(taste==0){
unsigned char input;
input=PINC;
input&=0xC3;
input^=0xC3;
switch(input){
case 0x01:
taste=1;
break;
case 0x02:
taste=2;
break;
case 0x40:
taste=3;
break;
case 0x80:
taste=4;
break;
}
}
}
int main()
{
TCCR0=0x05;
TCNT0=0x00;
OCR0=0x00;
while (1)
{
_delay_ms(25); //dieses warten
if(taste!=0){
switch(taste){
case 1:
xyz();
break;
case 2:
xyz();
break;
case 3:
xyz();
break;
case 4:
xyz();
break;
}
_delay_ms(300);
taste=0;
}
}
return 0;
}
Und dabei ist jetzt meine Frage, warum dieser Code nicht ohne dem
_delay_ms(25) funktioniert, dann werden die Tasten drücke nämlich nicht
ausgeführt?
Gruß und Danke schon mal für Antwortet!
Leon