ATMEGA 32L - gedrückter Button wird nicht erkannt

OP #4430843
Hallo,

ich scheitere gerade an einem sehr banalen Problem. Ich versuche am 
PORTC an den Pins 4,5,6 jeweils 3 verschiedene Buttons einzulesen.

Leider erkennt mein Programm nur den PINC6. PINC5 und PINC4 werden 
leider nicht erkannt.

In dem folgenden Codebeispiel versuche ich das Ganze jetzt am PINC5 - 
wie bereits erwähnt mit PINC6 funktioniert es - die LED am PORTC (PC0) 
wird ein und ausgeschalten.

Die Funktion "debounce" wurd hier aus dem Forum entnommen:

https://www.mikrocontroller.net/articles/Entprellung#Warteschleifen-Verfahren


int main (void) {
  DDRC &= ~((1 << PINC5));
  DDRC |= (1 << PINC0);
  PORTC |= (1 << PINC5);

  while(1)
  {
    if (debounce(&PINC, PC5)) {

      PORTC ^= (1 << PC0);
    }
  }
}

Habe direkt auch mal am PC5 gemessen - durch die Pull-Up Widerstände 
werden dort schöne 5V geliefert. Dann kann es doch eigentlich nur noch 
am DDRC liegen? Das der µC diesen PINC5 nicht als Eingang interpretiert?
Ich bin ratlos.

Hat jemand eine Ahnung woran das liegen könnte?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.