Spara bitar till buffer

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Spara bitar till buffer

Inlägg av thepirateboy »

Jag har en RFID-läsare med clock-out och data-out. Jag har gjort en tillståndsmaskin så jag vet när jag har giltiga data att klocka in.

Det är 13 bytes (104 bitar) som jag vill spara i en array som sedan enkelt kan skickas ut på UART'en.

Vid varje "rising edge" på klockan så läser jag av data-out och får då en etta eller nolla. Men hur sparar jag bitarna i en byte-array på smidigast sätt?

uC'n är en AVR och språket C.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Kod: Markera allt

typedef unsigned char byte;

byte Result[13];
byte Bit_Counter, Byte_Counter, Work;

for(Byte_Counter = 0; Cyte_Counter < sizeof(Result);Byte_Counter++) // Need all the bytes
  {
  for(Bit_Counter = 0;Bit_Counter < 8;Bit_Counter++) // Count all 8 bits in a byte
    {
    Work <<= 1; // Shift Work-variable up one notch
    while(No_Bits incoming); // Wait for bits to come
    if(Incoming_Bit) Work++; // If incoming bit is a one set LSB
    }
  Result[Byte_Counter] = Work; // Put in the byte in the buffer
  }
... // Do something now that all bytes has come
Grovhugget och antagande att det är MSB först i bitströmmen men ett sätt...
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Ahh kanoners, ser inte så tokigt ut, ska testa :tumupp:
Skriv svar