社区
嵌入开发(WinCE)
帖子详情
在一个 I2C 总线中,如何处理两个地址一样的从器件?
zaodt
2009-08-15 12:35:34
现在要通过 I2C 接口读写两个一样的从器件;
但这个器件的从地址是固定的;
所以就会产生地址冲突;
请问:有什么简单的办法?
...全文
5656
10
打赏
收藏
在一个 I2C 总线中,如何处理两个地址一样的从器件?
现在要通过 I2C 接口读写两个一样的从器件; 但这个器件的从地址是固定的; 所以就会产生地址冲突; 请问:有什么简单的办法?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xianse
2009-08-20
打赏
举报
回复
楼主,你好,想问你关于Win CE.Net(C#)的 "Hello World "的源代码程序!再三谢谢了.
不知道你能帮忙不? 项目经理要2周内学懂Win CE.Net(C#),你能写个源代码谢谢下不》?
iwillbeback008
2009-08-15
打赏
举报
回复
[Quote=引用 3 楼 shuiyan 的回复:]
I2C的协议规范本来就依赖不同地址,你这样的电路已经违背了I2C的基本了。
可以考虑电路上用分别供电的方式,不过需要注意该芯片在无电情况下是否会挂住I2C总线。
或者用信号切换方式,将SCL进行切换,可避免两个同时收到SCL信号。
或者该芯片是否支持单独引脚控制的低功耗模式,并且要求在低功耗模式下不响应I2C总线。
[/Quote]
很有经验,学习了。
gooogleman
2009-08-15
打赏
举报
回复
[Quote=引用 3 楼 shuiyan 的回复:]
I2C的协议规范本来就依赖不同地址,你这样的电路已经违背了I2C的基本了。
可以考虑电路上用分别供电的方式,不过需要注意该芯片在无电情况下是否会挂住I2C总线。
或者用信号切换方式,将SCL进行切换,可避免两个同时收到SCL信号。
或者该芯片是否支持单独引脚控制的低功耗模式,并且要求在低功耗模式下不响应I2C总线。
[/Quote]
很有经验,学习了。
shuiyan
2009-08-15
打赏
举报
回复
I2C的协议规范本来就依赖不同地址,你这样的电路已经违背了I2C的基本了。
可以考虑电路上用分别供电的方式,不过需要注意该芯片在无电情况下是否会挂住I2C总线。
或者用信号切换方式,将SCL进行切换,可避免两个同时收到SCL信号。
或者该芯片是否支持单独引脚控制的低功耗模式,并且要求在低功耗模式下不响应I2C总线。
gooogleman
2009-08-15
打赏
举报
回复
能不能加个,电源控制来让某一个工作,这样另外一个就访问不到了,
嘿嘿,我想这样可以吧,
哈哈。
hitszj604
2009-08-15
打赏
举报
回复
那字地址那,要是字地址也一样那就没招啦
gooogleman
2009-08-15
打赏
举报
回复
[Quote=引用 8 楼 zaodt 的回复:]
引用 6 楼 hzdysymbol 的回复:
用一个GPIO来控制切换完全可以实现的,以前有项目为了防止两个挂在I2C上的芯片干扰,就用这种方法来实现的,在需要的时候切换过去
你好!能不能大概说一下电路如何设计?
[/Quote]
楼主就是切断SDA或者SDL啊,用模拟开关即可。嘿嘿。
嘿嘿,每个器件就放一个开关。我理解没有错误吧。断了一根线,所以没有办法寻址了
zaodt
2009-08-15
打赏
举报
回复
[Quote=引用 6 楼 hzdysymbol 的回复:]
用一个GPIO来控制切换完全可以实现的,以前有项目为了防止两个挂在I2C上的芯片干扰,就用这种方法来实现的,在需要的时候切换过去
[/Quote]
你好!能不能大概说一下电路如何设计?
gooogleman
2009-08-15
打赏
举报
回复
[Quote=引用 6 楼 hzdysymbol 的回复:]
用一个GPIO来控制切换完全可以实现的,以前有项目为了防止两个挂在I2C上的芯片干扰,就用这种方法来实现的,在需要的时候切换过去
[/Quote]
嗯,把一条线断了,这方法不错。
hzdysymbol
2009-08-15
打赏
举报
回复
用一个GPIO来控制切换完全可以实现的,以前有项目为了防止两个挂在I2C上的芯片干扰,就用这种方法来实现的,在需要的时候切换过去
一种
处理
同
一个
I2C
总线
上,
器件
地址
冲突的方法
最近做项目,
面试你该如何回答---->IIC
总线
协议?
IIC即Inter-Integrated Circuit(集成电路
总线
) 面试的时候主要会遇到的IIC问题如下 介绍一下你了解的
I2C
?
I2C
总线
是飞利浦(PHLIPS)公司推出的一种串行
总线
,用于连接微控制器及其外围设备,
I2C
串行
总线
有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 它仅通过两根信号线就可以完成对所有挂载在
I2C
总线
上的从
器件
进行操作。这样的好处是可以大大的节省
I2C
总线
设计规范之基础篇
I2C
总线
设计规范之基础篇
I2C
通信协议分析 常用IIC接口通用
器件
的
器件
地址
是由种类型号,及寻址码组成的,共7位。如格式如下:D7D6D5D4D3D2D1D0 1、
器件
类型由:D7-D4共4位决定的。这是由半导公司生产时就已固定此类型的了,也就是说这4位已是固定的。 2、用户自定义
地址
码:D3-D1共3位。这是由用户自己设置的,通常的作法如EEPROM这些
器件
是由外部IC的3个引脚所组合电平决定的(用常用的名字如A0,A1,A2)。这也就是寻址码。所以为什么同一IIC总...
I2C
总线
基础知识 - 从原理到应用
I2C
总线
技术摘要
I2C
是一种双线制串行通信
总线
标准,由Philips/NXP开发,广泛应用于嵌入式系统
中
低速设备间的通信。其核心特点包括仅需SDA(数据线)和SCL(时钟线)两根信号线、支持多主多从架构、7位
地址
寻址、半双工通信和开漏输出结构。物理层采用
总线
型拓扑,需外接上拉电阻(典型值3.3V系统4.7kΩ-10kΩ)。通信协议包含起始/停止条件、数据有效性规则和应答机制,支持标准模式(100kHz)至高速模式(3.4MHz)等多种速率。典型应用包括传感器(如SHT30)、存储器(AT24C02 EE
51单片机协议入门(一)
I2C
(以24c02为例)
I2C
void
I2c
Start() { SDA=1; Delay10us(); SCL=1; Delay10us();//建立时间是SDA保持时间>4.7us SDA=0; Delay10us();//保持时间是>4us SCL=0; Delay10us(); } void
I2c
Stop() { SDA=0; Delay10us(); SCL=1; Delay10us();//建立时间大于4.7us SDA=1; Delay10us(); }
嵌入开发(WinCE)
19,524
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章