Hallo@all, kann mir jemand helfen, wie ich eine PIN-Abfrage mit dem neuen GCC macht. Ich hab DDRD komplett als Eingänge definiert und einen Taster an D0 angeschlossen, der Ihn auf GND zieht. Das geht alles. jedoch geht meine Abfrage nicht: while(1) { if (PIND0==1) { PORTB &= ~(1<<LED1); //LED anschalten } if (PIND0!=1) { PORTB |=(1<<LED1);//LED ausschalten } } Bisher hat es auf die Art und Weise immer funktioniert. Ich denke es liegt an der neuen GCC Version-hab aber nichts gefunden. Danke für eure Hilfe Martin
sicher, dass "PIND0" funktioniert? Sonst testet man PINs doch immer byte-weise, also: PIND & (1<<0)
hmm... ich denke wenn du ihn als eingang definiert hast, sollte in falle einer betätigung ein geringer strom in den avr fließen! nicht an gnd, sondern an vcc mit einem geeignetem vorwiderstand ;-)
Ich nehm den Taster aufm STK500...da hab ich einen 10K pull up und einen 150R wenn ich gegen GND schalte. Der Strom müsste eigentlich reichen
Rahul: Danke, du hattest recht... Mit der Byteweisen abfrage funzt es. Trotzdem merkwürdig, da es mit dem alten Compiler noch funktionierte. Gruss Martin
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.