Ich habe hier einen AT Mega 162 und will einen eingang mit dem internen Pullup realisieren. Ich habe den Pin D4 mit einem Schalter der an gnd hängt verbunden. Der Mikrocontroller schafft es aber irgend wie nicht den Pullup richtig zu setzen. Ich habe eine Led über einen Transistor an nen anderen Pin angeschlossen, diese soll leuchten wenn der Pin an gnd liegt und bei vcc soll sie ausgeben. Das Egebnis ist, sie wird ein bisschen heller wenn sie an gnd liegt und geht aus bei vcc. Es ist mir auch aufgefallen das die Led bei einem Reset erst dunkel ist und dann langsam heller wird, woran kann das liegen? Hab noch nie mit den At mega gearbeitet ist warscheinlich irgend etwas kleines was ich übersehen habe. Ach ja hier mein Code: int main(void) { // portd // 4 = Schalter // 6 = LED DDRD = (1 << 6); PORTD |= (1<<4); do{ if (bit_is_clear (PIND,4) == 1){ PORTD |= (1<<6); }else{ PORTD &= (0<<6); } }while(1);
PORTD &= (0<<6); Vermutlich wolltest Du das hier schreiben: PORTD &= ~(1<<6); Peter
Ist doch egal, geht beides und selbst wenns falsch ist, dann löst das mein Problem nicht.
Das war alles andere als böse gemeint, bin grad nur ein bisschen angenervt da ich das nicht zum laufen bekomme, muss das übermorgen fertig haben.
Dann lässt du dir vielleicht ja Peters Kommentar nochmal auf der Zunge zergehen, statt ihn als Krümelkackerei generverterweise abzutun.
Aber das kann doch nicht die Ursache sein waru der pullup nicht gesetzt wird oder seh ich da was falsch?
Ok, sorry für mein Geschwätz, klar hat es was damit zu tun. Manchmal steh ich echt auf dem Schlauch.
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.