fUr*_*ous 3 c++ microcontroller
我正在尝试将数字传感器模块连接到Arm Cortex M4F芯片.
收到的数据是模块的3个字节.但是,我在MCU中唯一可用的功能是uint32_t读取功能.我不知道为什么没有uint8_t函数,但也许这只是位移的问题?我在这里学习c ++.
所以我把价值看作:
uint32_t value = mcu_read(pin);
Run Code Online (Sandbox Code Playgroud)
value现在包含一个uint32_t4字节.我需要前三个.是否有可能以任何方式将其"提取"出来?这有意义吗?showstopper是mcu_read函数,最少读取4个字节.如果有uint8_t读取功能,我可以调用它三次以获取我需要的数据.
uint32_t value = mcu_read(pin);
uint8_t byte_0 = (value >> 24) & 0xFF;
uint8_t byte_1 = (value >> 16) & 0xFF;
uint8_t byte_2 = (value >> 8) & 0xFF;
uint8_t byte_3 = (value) & 0xFF;
Run Code Online (Sandbox Code Playgroud)