我正在尝试将数字传感器模块与Arm Cortex M4F芯片接口。
从模块接收到的数据是3字节。然而,在我的MCU中,我唯一可用的函数是uint32_t读取函数。我不知道为什么没有uint8_t函数,但也许只是位移的问题?我在学习c++的过程中。
所以我读取的值为:
uint32_t value = mcu_read(pin);
value
现在包含一个 uint32_t
,即4个字节。我需要其中的前三个字节。有没有任何方法可以将其移位以“提取”它们?
这有意义吗?关键问题是 mcu_read 函数要求至少读取4个字节。如果有一个读取 uint8_t
的函数,我就可以调用它三次以获取所需数据。