Hi! bin grad dabei ein Programm für ein Projekt zuschreiben was auch soweit funtioniert. Über eine AD wandlung lese ich 3 zustände eines Tasters ein! weil ich auch einen Kurzschluss erkennen muss! nun die Frage: wenn ich den Taster drücke soll etwas passieren, aber wie erkenne ich jetz wenn der Taster klemmt? sprich das er länger als eine sekunde gedrückt ist?
1 | void Taster() |
2 | {
|
3 | if (TasterV <= 512 &&TasterV>=105) //wenn Spg. 0,5V bis 2,5V, dann weiter Status_d ändern |
4 | {
|
5 | tasterkurz=0; |
6 | if (Status_d==1) |
7 | {
|
8 | Status_d=0; |
9 | // eeprom_write_byte(0x20,(unsigned int) Status_d);
|
10 | _delay_ms(4); |
11 | PORTD |= (1<<PORTD7); //LED am µC an |
12 | |
13 | |
14 | _delay_ms(500); |
15 | |
16 | }
|
17 | else
|
18 | {
|
19 | Status_d=1; |
20 | // eeprom_write_byte(0x20,(unsigned int) Status_d);
|
21 | _delay_ms(4); |
22 | PORTD &= ~(1<<PORTD7); //LED am µC an |
23 | |
24 | |
25 | _delay_ms(500); |
26 | |
27 | |
28 | }
|
29 | }
|
30 | else if (TasterV <= 100 ) //wenn Spg. 0bis 0,5V, dann Fehler = 1 |
31 | {
|
32 | |
33 | tasterkurz = 1; |
34 | }
|