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?
Gast
#4430850
PC5 TDI (JTAG Test Data In) PC4 TDO (JTAG Test Data Out) Hast du JTAG abgeschaltet?
Gast
#4430851
Hi JTAG-Interface deaktivieren. MfG Spess
Wie oft hatten wir das Thema eigentlich schon?
PC5 (TDI) PC4 (TDO) JTAG noch nicht abgeschaltet? http://www.atmel.com/images/doc2503.pdf Seite35
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!
Gast
#4430864
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... ;-)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.