Forum: Mikrocontroller und Digitale Elektronik Port F funktioniert nicht als Eingang.


von Atmega64 (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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?

von Atmega64 (Gast)


Lesenswert?

5V

von spess53 (Gast)


Lesenswert?

Hi

>Ist am PortF etwas anders?

Ja. Am PortF befindet sich das JTAG-Interface. Einfach per Fuses 
abschalten.

MfG Spess

von STK500-Besitzer (Gast)


Lesenswert?

(PINF & PIN7)

Probier mal
(PINF & (1<<PIN7))

von Peter D. (peda)


Lesenswert?

spess53 schrieb:
> Am PortF befindet sich das JTAG-Interface. Einfach per Fuses
> abschalten.

Geht aber auch zur Laufzeit.

von Atmega64 (Gast)


Lesenswert?

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.

von Ben S. (bensch123)


Lesenswert?

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
Noch kein Account? Hier anmelden.