打印
[STM32G4]

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

[复制链接]
743|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
比如我一个芯片的I2C地址是0x60,而我在I2C里配置0x60作为地址后,发现通信失败,而我将0x60左移一位作为写地址即可0xC0操作后,发现成功了,这是什么道理?

使用特权

评论回复
沙发
734774645|  楼主 | 2023-6-11 15:03 | 只看该作者

在B站看的视频教程里也是使用左移一位后的地址,这是有什么讲究的吗?
之前用新唐的好像不需要这样,直接使用芯片手册的地址即可。

使用特权

评论回复
板凳
Jacquetry| | 2023-6-11 22:28 | 只看该作者
因为寄存器采用的是左对齐,iic又是七位地址。所以要左移一位

使用特权

评论回复
地板
chenqianqian| | 2023-6-12 09:28 | 只看该作者
HAL库里面不会带IIC从机地址的

使用特权

评论回复
5
LLGTR| | 2023-6-12 15:58 | 只看该作者
地址基本都是配置成7位的。

使用特权

评论回复
6
朝生| | 2023-6-12 15:59 | 只看该作者
这就要看HAL库通信的地址定义了。

使用特权

评论回复
7
软核硬核| | 2023-6-12 15:59 | 只看该作者
因为你通信地址是7位,最低位要作为读写判断。

使用特权

评论回复
8
Henryko| | 2023-6-12 21:35 | 只看该作者
这是因为左对齐的原因吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

199

主题

3480

帖子

14

粉丝