This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Construct a byte from bits

Hello everybody,

I am very new to C language. In my project I get data serially from a port pin. I want to save the first 8 bits to one variable, another to second & so on. In all I want to save 32 bits in 4 bytes. Can you suggest C code.

I know it in assembly by using RRC or RLC, but how to achieve it in C?

Thanks

Parents
  • Yes, I think it should be

    unsigned long data_received;
    

    Also the statement

    data_received =| ( 1 << bits_received );
    


    gave me error. So I replaced it with

    data_received |= ( 1 << bits_received );
    

    What does |= mean? Anyway the code works perfectly, thanks!

    Now in main routine, I want to split up the 32bit int into four 8bit variables. Then using lookup table I want to convert them. Your help will be highly appreciated.

Reply
  • Yes, I think it should be

    unsigned long data_received;
    

    Also the statement

    data_received =| ( 1 << bits_received );
    


    gave me error. So I replaced it with

    data_received |= ( 1 << bits_received );
    

    What does |= mean? Anyway the code works perfectly, thanks!

    Now in main routine, I want to split up the 32bit int into four 8bit variables. Then using lookup table I want to convert them. Your help will be highly appreciated.

Children