Moin Leute,
Folgendes:
Ich habe einen 165er an meinem ATmega32A, Am D0 & D1 vom165er hängt ein
Drehencoder.
Das auselesen der Daten funktioniert auch ohne Probleme.
Nun aber zu meiner eigentlichen Frage, um die Drehencoder auszulesen
brauche ich in meiner Funktion 2variablen die entweder 0 oder 1 sind, je
nach aktuellen status vom drehencoders halt. Nun dachte ich mir ok kein
Ding, und habs folgendermaßen ausprobiert:
1 | void get_Encoder_data(int v165)
|
2 | {
|
3 | test = (v165 & _BV(1));
|
4 | test2 = (v165 & _BV(2));
|
5 | }
|
v165 ist meine Variable in der mein Binärcode vom 165er gespeichert ist.
So ansich funktioniert das ganze auch, jedoch ist in test eine 2 wenn
der pin an ist und in test2 steht eine 4.
Eigentlich ja auch recht klar...
Aber wie umgehe ich das?
ich möchte halt wirklich nur eine null oder eine eins drin stehen haben.
Oder geht das ganze auch noch einfacher?
Ich freu mich auf eure Lösungsvorschläge.
Grüße
Martin