x9221是I2C问题

[复制链接]
3921|12
 楼主| zw9882 发表于 2007-8-15 19:14 | 显示全部楼层 |阅读模式
x9221是I2C接口器件,可是它的地址码怎么设置为4位,这样的话用标准I2C程序根本不就没法读写啊。标准的I2C的地址码都是3位的,最后一位用来控制是读操作还是写操作的。这就导致不能正常寻址了。怎么办啊???搞了好几天了。
还有X9221的地址码位4位的话,是不是意味着可以挂接2^4=16个X9221?
lixun00 发表于 2007-8-15 19:58 | 显示全部楼层

读不能暗标准的来,只能模拟要是读的话

 楼主| zw9882 发表于 2007-8-15 20:31 | 显示全部楼层

哪不是很郁闷!?

好像写的时候,也只能是在地址为0X50时才有效吧(A0~A3 =0)。
这个片子的号称I2C岂不是假的?
lixun00 发表于 2007-8-16 00:02 | 显示全部楼层

地址可变,写一样,读不行,开始我也郁闷了半天

hotpower 发表于 2007-8-16 00:14 | 显示全部楼层

I2C的地址与器件内部地址混用+方向就是8位了

没用过x9221.

但从楼主的话中能听出x9221的I2C的地址为3位,器件内部地址4位(A0~A3).
再加方向位(W/R)就是8位了.

应该和24系列的EEPROM类似.

EEPROM还有存储地址的问题,它一般紧跟在读写I2C地址后.

另外一些I2C接口或协议,读写I2C地址后为命令.

大同小异,总的分7位地址和10位地址2大类.

ayb_ice 发表于 2007-8-16 07:34 | 显示全部楼层

管它这那的,对着DATASHEET写就行了...

lixun00 发表于 2007-8-16 07:49 | 显示全部楼层

估计hotpower没看手册,看了你就不会这样讲了。

他的读数据不是标准的
computer00 发表于 2007-8-16 08:34 | 显示全部楼层

不会吧?既然是I2C的,就应该遵循标准

不知道楼主从哪里看来标准的I2C地址是3位的?设备地址明明是7位,可以访问128个设备。如果将读和写分别看成两个地址的话,就有8位了。另外I2C标准还定义了另一种扩展的地址,扯远了...
ayb_ice 发表于 2007-8-16 08:44 | 显示全部楼层

新的IIC标准支持10位地址,兼容以前的...

另外标准的IIC地址是7位,只是一般前4位由IIC委员会协调定义...
 楼主| zw9882 发表于 2007-8-17 19:35 | 显示全部楼层

还是lixun00 了解啊

现在只能软件模拟了。。。
lixun00 发表于 2007-8-17 20:43 | 显示全部楼层

前些时间正好用到x9241

hotpower 发表于 2007-8-18 01:35 | 显示全部楼层

我想它和24系列应该类同

像24C01等地址为0xa0/0xa1.

即1010 000 X
       ||| |
  IIC  AAA W
  ADDR 210 R

这样I2C总线上可外挂8个1010 XXX X的器件即24CXX 

那么,楼主说的"地址码怎么设置为4位".

估计是:

XXX XXXX X
    ||||
    AAAA
    3210

这样I2C总线上可外挂16个x9221???????????????? 
kukucat 发表于 2007-8-18 17:44 | 显示全部楼层

也只用过24C0*系列,原来还有其他类型的I2C啊~~~~!

“  
  新的IIC标准支持10位地址,兼容以前的... 

另外标准的IIC地址是7位,只是一般前4位由IIC委员会协调定义...
 ”
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

42

帖子

0

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