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.