Hallo, ich hab da mal ne kleine Frage. Ich habe an einem ATMEGA8 Masse über einen Taster an PIND0 angeschlossen. Den internen Pullup habe ich aktiviert. DDRD = 0b11110000; POTRD = 0b00001111; Wenn ich jetzt den PIN mit if(PIND & (!(1<<PIND0))) abfrage passiert nicht das was passieren sollte in der if Anweisung. Hat jemand eine Idee woran das liegen könnte? Mit externem Pullup funktioniert es perfekt.
Also die Abfrage verwirrt mich etwas. Ich hätte geschrieben: if(!(PIND & (1<<PIND0))) { } Gruß Matthias
Wenn es daran lag, wie kann es dann vorher mit externem Pullup funktioniert haben? PS: Sorry für das lange 'Hä..', ich wollte es kürzer machen, aber der automatische Überschriftenzensor hatte etwas dagegen! :)
Weil ich den externen Widerstand auf 5V hatte und denn ohne negierung abgefragt habe, also Pulldown.
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.