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?
Wie oft hatten wir das Thema eigentlich schon?
H.Joachim S. schrieb: > Wie oft hatten wir das Thema eigentlich schon? Tut mir leid, aber nach was genau sucht man da bitte als Anfänger, wenn man so ein Problem hat? Danke Leute!
Felix K. schrieb: > Tut mir leid, aber nach was genau sucht man da bitte als Anfänger, wenn > man so ein Problem hat? gar nicht suchen, Doku lesen.
Guter Einstieg (der u.a. diesen Fehler auflistet): https://www.mikrocontroller.net/articles/AVR_Checkliste
J.-u. G. schrieb: > der u.a. diesen Fehler auflistet Der nächste allseits beliebte Fehler wäre dann die CLKDIV Fuse... ;-)
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.