Forum: Compiler & IDEs Problem mit atmega 162 Pullup


von Johni (Gast)


Lesenswert?

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);

von Peter D. (peda)


Lesenswert?

PORTD &= (0<<6);

Vermutlich wolltest Du das hier schreiben:

PORTD &= ~(1<<6);

Peter

von Johni (Gast)


Lesenswert?

Ist doch egal, geht beides und selbst wenns falsch ist, dann löst das
mein Problem nicht.

von Tobias (Gast)


Lesenswert?

Auja in dem Ton kommst du hier sehr weit :)

von Peter D. (peda)


Lesenswert?

Und Tschüß !

von Johni (Gast)


Lesenswert?

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.

von Jörg Wunsch (Gast)


Lesenswert?

Dann lässt du dir vielleicht ja Peters Kommentar nochmal auf der
Zunge zergehen, statt ihn als Krümelkackerei generverterweise
abzutun.

von Johni (Gast)


Lesenswert?

Aber das kann doch nicht die Ursache sein waru der pullup nicht gesetzt
wird oder seh ich da was falsch?

von Johannes (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.