Forum: Mikrocontroller und Digitale Elektronik Xmega Pin abfragen


von Josef (Gast)


Lesenswert?

Hallo Forum,

ich versuche einen Pin von einem Port abzufragen, warum geht das nicht ?

if (PORTD.IN & 0x80 == 0x80)

led(1);

else

led(0);

danke für eure Hilfe!

von m.n. (Gast)


Lesenswert?

Josef schrieb:
> ich versuche einen Pin von einem Port abzufragen, warum geht das nicht ?

Heute ist Donnerstag, da funktioniert das nie.

von AVRBastler (Gast)


Lesenswert?

Josef schrieb:
> warum geht das nicht ?

Ja wieso, das geht doch!

von Gerhard G. (xmega)


Lesenswert?

Hallo,

Code ist in  Ordnung, funktioniert auch bei mir!

Port auf Eingang?

Led Funktion ok?

Pin Hardware bereits vergeben?

Teste mal ob sich die Led's ohne Pin-Abfrage ein-ausschalten lassen.

Gruß G.G.

von Falk B. (falk)


Lesenswert?

@ Josef (Gast)

>ich versuche einen Pin von einem Port abzufragen, warum geht das nicht ?

Der Code ist OK, aber wahrscheinlich fehlt ein Pull Up Widerstand aussen 
am Controller bzw. intern zugeschaltet.

von Timmo H. (masterfx)


Lesenswert?

Übrigens ist es lesbarer wenn man vernünfige die Pin Konstanten 
verwendet und das 0x80 zum vergleich brauchst du auch nicht, da du eh 
nur ein Bit maskierst:
1
if (PORTD.IN & PIN7_bm )
2
  led(1);
3
else
4
  led(0);

Vielleicht hast du ja auch vergessen den Port der die Led anschaltet auf 
Ausgang zu setzen?! Mehr Code + Schaltung wäre hilfreich.

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.