einzelner Pin einlesen

Gast #514777
Lesenswert?
• ▲
▼
Hallo Leute

Ich habe eine frage, ich versuche mit einem xc866 von infineon ein 
einzelnes bit an einem paralellport abzufragen. Prigrammiersprache c

Mit P3_DATA Wird der ganze Port 3 eingelesen also alle 8 Bit.

Wenn ich jetzt aber an bit 3 also P3_3 auf ein signal (high,1) warte, 
will ich nur diesen wert abfragen.

Habe es mit printf ("%i".P3_3); probiert, compiler frisst es aber 
einlesen tut er nix.

ich möchte so eine Variable mit dem zustand 0 oder 1 füttern und 
weiterverarbeiten, je nach signal an P3_3.

also so:

P3_3 = Variable;

if(variable== 1);
etc....

Grüsse erol
Gast #514790
Lesenswert?
• ▲
▼
Was der C-Compiler bzw. die libc für den Prozessor jetzt für Funktionen 
zum Zugriff auf einzelne Bits bietet, weiss ich nicht, aber auf jeden 
Fall funktioniert das hier:

if (P3_DATA & (1)) P3_0 = 1 else P3_0=0;

if (P3_DATA & (1<<2)) P3_3 = 1 else P3_3=0;

Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren