Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Byte in 8 einzelne Bit Variablen zerlegen Kategorie: Programmierung (von Tinber - 2.12.2007 15:49)
Als Antwort auf Byte in 8 einzelne Bit Variablen zerlegen von Leo - 1.12.2007 14:07

Hallo Leo

Beispielsweise kannst du das so Realisieren.

byte Ausgang, Eingang;

byte IN1, IN2, IN3, IN8;//eingangsvariable
//hier das byte von pcf auslesen und zuweisen    Eingang = PCF eingang
//bits ensprechend der wertigkeit nach rechts schieben und an variable zuweisen
IN1   =         Eingang & 0b1;// bit 0 zustand 1 oder 0  zuweisen
IN2   =         (Eingang shr 1) & 0b1;// bit 1 zustand
IN3   =         (Eingang shr 2) & 0b1;// bit 2 zustand
// usw
IN8   =         (Eingang shr 7) & 0b1;// bit 7 zustand

//ausgänge
byte SB_Pumpe1,SB_Pumpe2, SB_Pumpe3,SB_Pumpe8; //schaltbefehle
Ausgang = 0;
Ausgang = Ausgang + SB_Pumpe1; //bit 0 setzen
Ausgang = Ausgang + SB_Pumpe2 *2; //bit 1 setzen
Ausgang = Ausgang + SB_Pumpe3 *4; //bit 2 setzen
// usw
Ausgang = Ausgang + SB_Pumpe8 *128; //bit 7 setzen
// SBPumpe# enstspricht 0 für aus 1 für ein
//hier das byte an pcf zuweisen     PCF = Ausgang

Beachten  muÃ?t du dabei ob die Signale je nach  Beschaltung des PCF Bausteins invertiert sein müssen.

GruÃ?
Martin


> Hallo!
>
> Ich lese die Eingänge eines PCF8574 über den I²C als Byte ein. Nun möchte ich dieses Byte in
>  8 einzelne definierte Bitvariablen ge zielt zerlegen, damit ich die einzelnen Bits verändern kann.
> Wie kann ich das programmieren?
>
> Umgekehrt möchte ich 8 definierte Bits zu einem Byte zusammenfassen, damit ich das wiederum
>  an einen PCF senden kann.
> Wie geht das?
>
> GruÃ? Leo


    Antwort schreiben


Antworten: