找回密码
 立即注册
查看: 709|回复: 3

IIC挂载多个从机,地址如何修改

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-04-24 10:09:25

8

主题

9

回帖

137

积分

注册会员

积分
137
发表于 2023-7-27 11:32:00 | 显示全部楼层 |阅读模式
IIC挂载多个从机,地址如何修改-1.png

单从机模式中,一直使用地址如上图,但是多从机模式下,这个地址不唯一,求大神指导如何修改文件,slave addr分别为  0XEC  0X80  0X40
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2023-7-27 13:22:38 | 显示全部楼层
访问不同从机时使用不同的地址就行,例如定义3个从机地址:
#define SLA1W    0xEC
#define SLA2W    0x80
#define SLA3W    0x40
SLAR是将SLAW的bit0置1,做为读地址。

读写时使用不同的地址访问不同的从机:
I2C_WriteNbyte(SLAxW, 0, tmp, 4);
I2C_ReadNbyte(SLAxW, 0, tmp, 4);
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-04-24 10:09:25

8

主题

9

回帖

137

积分

注册会员

积分
137
发表于 2023-7-27 13:35:19 | 显示全部楼层
乘风*** 发表于 2023-7-27 13:22
访问不同从机时使用不同的地址就行,例如定义3个从机地址:
#define SLA1W    0xEC
#define SLA2W    0x80

有没有一种可能,我在头文件中定义三个或更多的从机地址(为了方便以后更换不同地址的从机设备),在不大面积改动I2C.C的读写程序,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2023-7-27 13:40:28 | 显示全部楼层
飞快旋*** 发表于 2023-7-27 13:35
有没有一种可能,我在头文件中定义三个或更多的从机地址(为了方便以后更换不同地址的从机设备),在不大 ...

可以的,把从机地址定义放到头文件,I2C.c文件就不用再修改了。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 13:06 , Processed in 0.143687 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表