[STM32G4] HAL库函数里的I2C地址是不是不对?

[复制链接]
1259|7
 楼主| 734774645 发表于 2023-6-11 14:59 | 显示全部楼层 |阅读模式
比如我一个芯片的I2C地址是0x60,而我在I2C里配置0x60作为地址后,发现通信失败,而我将0x60左移一位作为写地址即可0xC0操作后,发现成功了,这是什么道理?
 楼主| 734774645 发表于 2023-6-11 15:03 | 显示全部楼层
64964648571a48f141.png
在B站看的视频教程里也是使用左移一位后的地址,这是有什么讲究的吗?
之前用新唐的好像不需要这样,直接使用芯片手册的地址即可。
Jacquetry 发表于 2023-6-11 22:28 | 显示全部楼层
因为寄存器采用的是左对齐,iic又是七位地址。所以要左移一位
chenqianqian 发表于 2023-6-12 09:28 来自手机 | 显示全部楼层
HAL库里面不会带IIC从机地址的
LLGTR 发表于 2023-6-12 15:58 | 显示全部楼层
地址基本都是配置成7位的。
朝生 发表于 2023-6-12 15:59 | 显示全部楼层
这就要看HAL库通信的地址定义了。
软核硬核 发表于 2023-6-12 15:59 | 显示全部楼层
因为你通信地址是7位,最低位要作为读写判断。
Henryko 发表于 2023-6-12 21:35 | 显示全部楼层
这是因为左对齐的原因吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

3588

帖子

15

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