ST意法半导体
直播中

王健

7年用户 834经验值
私信 关注
[问答]

试图将两个8位值移动到一个16位变量中,为什么这不起作用?

嗨,大家好
我有一个真正奇怪的问题
试图将两个 8 位值移动到一个 16 位变量中,
有人可以告诉我为什么这不起作用
它应该或 lsb 到 msb
      Sensor_Flow = I2C1_DATA[0] ;
      Sensor_Flow = Sensor_Flow << 8;
      传感器流量 = 传感器流量 || I2C1_DATA[1];







回帖(1)

苏笛笛

2022-12-26 11:04:40
比较简单,不容易出错。。
Sensor_Flow = ((uint16_t)I2C1_DATA[0] << 8) + (uint16_t)I2C1_DATA[1];
举报

更多回帖

发帖
×
20
完善资料,
赚取积分