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

Re: Byte aus Bits zusammensetzen Kategorie: Programmierung (von Matthias Koch - 1.03.2007 19:17)
Als Antwort auf Byte aus Bits zusammensetzen von Roberto - 1.03.2007 16:27
Ich nutze:
eigenes Board, OSOPT V3.1
> Hallo zusammen,
> hänge z.Z. gerade an einem vermutlich ziemlich simplen Problem.
>
> Ich muÃ? aus jeweils 2 Nibbles (4 bit) ein Byte zusammensetzen.
> Dazu habe ich folgende vorgaben:
>  
> A  = 0110
> B  = 1110
> C  = 0010
> D  = 1010
> E  = 0001
> F  = 1001
> G  = 0101
> H  = 1101
>
> 1 = 0110
> 2 = 1110
> 3 = 0010
> 4 = 1010
> 5 = 0001
> 6 = 1001
> 7 = 0101
> 8 = 1101
>
> Ich möchte nun eine Funktion erstellen, die ich mit zwei Parametern aufrufen kann.
> Bsp. Wenn ich die Funktion mit dem Parameter "A" und "1" aufrufe, mu� gemä� den obenstehenden Tabellen
> das Byte " 01100110" rauskommen.
> Oder ein "B" und "3" sollte demnach 11100010 ergeben.
>
> Kann mir jemand auf die Sprünge helfen, wie ich das bewerkstelligen kann ?
>
> Danke im voraus
> GruÃ?
> rob.

Hallo rob,
ein kleiner Codeschnipsel:


////////////////////////////////////////////////////////////////////////////////////
function nib2byte(byte b, byte z) returns byte
{
  byte t;
  t=b shl 4;    //das byte "b"uchstabe wird um 4 bit nach links geschoben
                //und t gespeichert=> 0b1110 0000
  t=t or z;     //das byte "z"iffer wird nun durch das ODER
                //in das unter NIBBLE von t eingeblendet=> 0b1110 0010
  return t;     // und die Rückgabe
}
//////////////////////////////////////////////////////////////////////////////////////
byte ziffer;
byte buchstabe;
byte resultat;
....
 ...
ziffer =0b00000010;
buchstabe=0b00001110;
....
resultat=nib2byte(ziffer,buchstabe); //Funktionsaufruf


ich habe es ziemlich ausführlich dargestellt. Ich hoffe das es Dir nützt.
mfg
matthias


    Antwort schreiben


Antworten:

Re: Byte aus Bits zusammensetzen (von Roberto - 2.03.2007 14:03)