Ich habe einen Atmega64 auf meinem Board und der Port F (6,7) ist als Eingang Konfiguriert und Pullup ist an. //Port F DataDirection Register 1=Ausgang 0=Eingang DDRF=0b00000000; //0=Eingang PORTF=0b11000000; //Pullup ON Die Definition ist: #define Is_Taste_Eingang() ((PINF & PIN7) ? false : true) #define Is_Taste_Ausgang() ((PINF & PIN6) ? false : true) Die Abfrage erfolgt: //Taste Eingang gedrückt if(!Is_Taste_Eingang()) { } //Taste Ausgang gedrückt if(!Is_Taste_Ausgang()) { } Sollte so alles passen, tut es aber nicht die Eingänge am uC schalten zwar aber nicht im Programm. Ist am PortF etwas anders? Vorab vielen Dank.
Atmega64 schrieb: > ollte so alles passen, tut es aber nicht die Eingänge am uC schalten > zwar aber nicht im Programm. Ist am PortF etwas anders? Welche Spannung liegt an AVCC an?
Hi >Ist am PortF etwas anders? Ja. Am PortF befindet sich das JTAG-Interface. Einfach per Fuses abschalten. MfG Spess
spess53 schrieb: > Am PortF befindet sich das JTAG-Interface. Einfach per Fuses > abschalten. Geht aber auch zur Laufzeit.
Super genau das wars JTAGEN aus und #define Is_Taste_Eingang() ((PINF & (1<<PIN7)) ? false : true) #define Is_Taste_Ausgang() ((PINF & (1<<PIN6)) ? false : true) Danke noch an euch.
Atmega64 schrieb: > #define Is_Taste_Eingang() ((PINF & (1<<PIN7)) ? false : true) > #define Is_Taste_Ausgang() ((PINF & (1<<PIN6)) ? false : true) Sowas bitte gleich als richtige C-Funktion ausführen.
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.