3364|8

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于2410下IIC的地址问题 [复制链接]

请问我的IIC传送模式为主从模式
但是看程序中有两个从机地址:0X10和0XA0
具体程序如下:
PRIVATE BYTE volatile I2cStatus;
PRIVATE BYTE volatile I2cCurSla;                         /* I2C从机,当前地址        */
PRIVATE BYTE volatile I2cSla = 0xA0;                          /* I2C从机地址 */
PRIVATE BYTE IICError = 0;

PRIVATE DWORD g_OpenCount = 0;


PRIVATE void I2C_InitHareware(void)
{
        // 设置相关引脚为I2C引脚
        v_pIOPregs->GPECON = (v_pIOPregs->GPECON & 0x0FFFFFFF) | 0xA0000000;   
       
        // 禁止内部上拉电阻      
        v_pIOPregs->GPEUP = v_pIOPregs->GPEUP | 0xC000;                                       

        // 设置I2C控制寄存器 (使能ACK位时才能接收从机的应答位)
        v_pIICPregs->IICCON = IICCON_DEFAULT;
     
    // 设置I2C为主机模式
    v_pIICPregs->IICSTAT = (3 << 6) | (1 << 4);
   
    // 从机地址 (作主机时没有用)
    v_pIICPregs->IICADD = 0x10;

}
请问做过IIC驱动的高手,这两个地址具体指的什么意思啊??

最新回复

有机会可以交流一下,我现在也在做一个IIC驱动,不过是pxa255下的 QQ:32211240  详情 回复 发表于 2008-6-28 12:10
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我看在没跑操作系统的2410 IIC通信实验也是有两个地址:
    rIICADD  = 0x10;                    //2410 slave address = [7:1]
    rIICSTAT = 0x10;                    //IIC bus data output enable(Rx/Tx)

    Uart_Printf("Write test data into AT24C02\n");
  
    for(i=0;i<256;i++)
        Wr24C080(0xa0,(U8)i,i+0x41);//Wr24C080(U32 slvAddr,U32 addr,U8 data)
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你看一下IIC协议就会明白,IIC总线上可以挂多个设备,为了区分每个设备,要用这个地址来区分它们,主机在开始通讯的时候,要发送地址来建立通道。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
可是我的这个程序只有一个设备啊
就是一个带EEPROM的复位芯片,这是一个实验程序
目的就是向这个EEPROM中写数据和读出数据
一个设备为什么会有两个地址呢??
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
从机地址就像网络上的IP一样,主机发送地址,然后对应地址的设备会进行响应,其他设备忽略,继续等待。
也就是说,你的开发板上,IIC带了至少2个设备。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(中级)

6
 
那就是说
这两个地址0x10和0xa0都是从机地址,互相没什么关系
而且这个从机地址是芯片手册上能查到的,芯片固定设置的地址
是这样吗?
板子上确实是有两个IIC设备
一个是CAT1025还有一个是ZLG7290
但是ZLG7290的地址是0X70

可是在IIC驱动中就出现了这两个地址0x10和0xa0!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
yashi
shuiyan
两位仁兄在吗?
帮我分析一下
谢谢啦
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

8
 
// 从机地址 (作主机时没有用)
    v_pIICPregs->IICADD = 0x10;



这个地址是2410做从机时,2410的地址。另外一个主机寻址时就使用找个地址来和2410通信,建议你看看2410的developer manual。上面对2410的IIC寄存器解释的很清楚。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
有机会可以交流一下,我现在也在做一个IIC驱动,不过是pxa255下的
QQ:32211240
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表