moin ! wennich das so mache wie hier : wird t1 IMMER incrementiert wenn einmal kurz auf taster 1gedrückt wird fängt er bei 0 an zu zählen aber bit_is_set(PIND,PIND0) scheint immer true zu sein aber wennich drücke wird nur t1 auf 0 gesetzt if(bit_is_set(PIND,PIND0)) { t1++; } else { if (t1 = 10) { t1 = 0; lcd_clrscr(); lcd_puts(" Taster 1 "); delay(); } } das ist doch auch richtig oder ? DDRD = 0; PORTD = 255;
das egibt genau das sebe problem naja ähnlich diemal wird irgenwie nix incerementiert und t1 = 0; lcd_clrscr(); lcd_puts(" Taster 1 "); delay(); wird trotzdem ausgeführt ... helpt me pleeez keys = ~PIND; // read input port with switches (active-low) if ( keys & 1 ) { t1++; if(t1 = 3) { t1 = 0; lcd_clrscr(); lcd_puts(" Taster 1 "); delay(); } else { } } else { }
>> if(t1 = 3) >> { Das ist aber ein berühmter Anfänger C-Fehler: Ich glaube du meinst: if ( t1 == 3 ) // falls t1 GLEICH 3 Dein Ausdruck weisst der Variable t1 den Wert 3 zu und testet danach ob diese Variable 0 oder ungleich 0 ist.
würg danke das du mich erlöst hast !!! .. also weiter gehts ;) die email mit der makefile kannst du löschen ich habs hinbekommen ... jetzt muss ich nurnoch diese abrage richtig hinkrioegen sag mal diesen timer den ich da verwenet hae ... gibts da noch n' 2. von ? danke nochmal
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.