你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f4/l4 LSM303DLHC库bug?

[复制链接]
kebao_1 提问时间:2018-7-16 09:12 /
最近完stm32l4和f4系列,调试LSM303DLHC的时候,发现这段代码
  1. void LSM303DLHC_AccInit(uint16_t InitStruct)
  2. {  
  3.   uint8_t ctrl = 0x00;
  4.   
  5.   /*  Low level init */
  6.   COMPASSACCELERO_IO_Init();
  7.   
  8.   /* Write value to ACC MEMS CTRL_REG1 register */
  9.   ctrl = (uint8_t) InitStruct;
  10.   COMPASSACCELERO_IO_Write(ACC_I2C_ADDRESS, LSM303DLHC_CTRL_REG1_A, ctrl);
  11.   
  12.   /* Write value to ACC MEMS CTRL_REG4 register */
  13.   ctrl = (uint8_t) (InitStruct << 8);
  14.   COMPASSACCELERO_IO_Write(ACC_I2C_ADDRESS, LSM303DLHC_CTRL_REG4_A, ctrl);
  15. }
复制代码
在 “ctrl = (uint8_t) (InitStruct << 8);” 中InitStruct 的移位是反的。这个代码路径在
  1. STM32Cube\Repository\STM32Cube_FW_L4_V1.12.0\Drivers\BSP\Components\lsm303dlhc
复制代码

  1. STM32Cube\Repository\STM32Cube_FW_F4_V1.21.0\Drivers\BSP\Components\lsm303dlhc
复制代码
两个库中都出现了。

将代码改为“ctrl = (uint8_t) (InitStruct >> 8);”后,代码运行正常,可以配置LSM303DLHC。

但是………………………………………………………………………………………………
           是bug?还是我理解错了??


收藏 评论0 发布时间:2018-7-16 09:12

举报

0个回答

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版