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

关于STM32 通过HAL I2C主从机通讯的地址配置

[复制链接]
poppig 提问时间:2018-8-6 15:55 /
为什么,在软件配置从地址后,打开keil,里面地址变成两倍
1.png
2.png
收藏 评论7 发布时间:2018-8-6 15:55

举报

7个回答
poppig 回答时间:2018-8-6 15:56:42
是不是左移一位给读写位了?
废鱼 回答时间:2018-8-6 16:33:02
楼主,I2C硬件的地址占用7位,如下图所示,从代码上来看是直接左移了一位。 微信截图_20180806163039.png
/*---------------------------- I2Cx OAR1 Configuration ---------------------*/
  /* Configure I2Cx: Own Address1 and addressing mode */
  hi2c->Instance->OAR1 = (hi2c->Init.AddressingMode | hi2c->Init.OwnAddress1);

  /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
  /* Configure I2Cx: Dual mode and Own Address2 */
  hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2);

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

butterflyspring 回答时间:2018-8-6 17:36:12
cubeMx的是7位地址,代码是8位地址

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

huangyanga 回答时间:2018-8-6 18:22:48
关键是这样代码还能正常工作不

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

feixiang20 回答时间:2018-8-7 00:04:04
修改这个数值看看结果相差的变化

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

poppig 回答时间:2018-8-7 11:45:56
我两个板子可以正常通讯,但是我是觉得那我在CUBUMX软件里面设置地址就没有异议了,有点鸡肋的赶脚
poppig 回答时间:2018-8-7 11:54:37
所以硬件I2C的读写位是不能自行设置的,大概明白了

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2 结帖奖励

查看全部评分

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