【发布时间】:2018-06-25 07:55:22
【问题描述】:
我正在尝试将数字传感器模块连接到 Arm Cortex M4F 芯片。
从模块接收到的数据是 3 个字节。但是,我的 MCU 中唯一可用的功能是 uint32_t 读取功能。我不知道为什么没有 uint8_t 函数,但也许这只是移位的问题?我正在学习 c++。
所以我将值读为:
uint32_t value = mcu_read(pin);
value 现在包含一个 uint32_t,4 个字节。我需要前三个。是否有可能以任何方式将其“提取”出来?
这有意义吗? showstopper 是最少读取 4 个字节的 mcu_read 函数。如果有一个uint8_t 读取函数,我可以调用它三次来获取我需要的数据。
【问题讨论】:
-
将不感兴趣的字节屏蔽为 0 并将值保存在 uint32_t 中而不是处理 3 个单独的值可能更容易。
标签: c++ microcontroller