[LKS32 硬件] 使用联合体(Union)获取高低位字节

[复制链接]
825|1
 楼主| 烟雨蒙蒙520 发表于 2024-5-30 23:28 | 显示全部楼层 |阅读模式
uint16_t word = 0xABCD; // 假设word是一个16位的字

union {
    uint16_t word;
    struct {
        uint8_t low_byte;
        uint8_t high_byte;
    } bytes;
} data;

data.word = word;

// 获取低位字节
uint8_t low_byte = data.bytes.low_byte;

// 获取高位字节
uint8_t high_byte = data.bytes.high_byte;


 楼主| 烟雨蒙蒙520 发表于 2024-5-30 23:28 | 显示全部楼层
以上方法都可以用来获取一个字的高位和低位字节。使用位运算的方法是最直接和常见的,而使用类型转换或联合体也是一种简单有效的方法。选择哪种方法取决于个人偏好和代码的特定要求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

720

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部