打印
[ZLG-MCU]

I2C EEPROM读/写数据的问题

[复制链接]
2213|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoxin1986|  楼主 | 2009-3-15 13:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近看LPC2200向CAT24WC02读/写数据的程序一直没看懂,为什么程序里都没提到将这些数据从I2C EEPROM的什么地址读/写出。难道直接从0x00开始读/写吗?如果是写入一半的数据再向I2C EEPROM里写数据呢,怎么办?

 


/* 以下为I2C操作时所需要的变量 */
volatile  uint8  I2C_sla;           // 从机地址(即器件地址)
volatile  uint8  I2C_suba;          // 子地址
volatile  uint8  *I2C_buf;          // 数据缓冲区指针 (读操作时会被更改)
volatile  uint8  I2C_num;           // 操作数据个数 (会被更改)
volatile  uint8  I2C_end;           // 操作结束标志,为1时表示操作结束,为0xFF时表示操作失败 (会被设置)
volatile  uint8  I2C_suba_en;       // 子地址使能控制,读操作时请设置为1,写操作时请设置为2 (会被更改)

 

/****************************************************************************
* 名称:ISendByte()
* 功能:向无子地址器件发送一字节数据。
* 入口参数:sla  器件地址
*          dat  要发送的数据
* 出口参数:返回值为0时表示出错,为1时表示操作正确。
* 说明:使用前要初始化好I2C引脚功能和I2C中断,并已使能I2C主模式
****************************************************************************/
uint8  ISendByte(uint8 sla, uint8 dat)
{  /* 参数设置 */
   I2C_sla = sla;  // 写操作的器件地址
   I2C_buf = &dat;  // 待发送的数据
   I2C_num = 1;   // 发送1字节数据
   I2C_suba_en = 0;  // 无子地址
   I2C_end = 0;
   
   I2CONCLR = 0x2C;
   I2CONSET = 0x60;             // 设置为主机,并启动总线
   
   while(0==I2C_end);
   if(1==I2C_end) return(1);
     else return(0);
}

相关帖子

沙发
xiaoxin1986|  楼主 | 2009-3-15 19:15 | 只看该作者

召唤达人

使用特权

评论回复
板凳
linhai1986| | 2009-3-16 23:06 | 只看该作者

这两天比较冷清

使用特权

评论回复
地板
linhai1986| | 2009-3-16 23:08 | 只看该作者

还是我来回答吧

使用特权

评论回复
5
linhai1986| | 2009-3-16 23:08 | 只看该作者

RE:

因为是硬件的I2c,很多过程都是在中断里面实现的,比如说I2CONSET = 0x60指令会发送I2c的Start信号,当信号发出后会进入中断,然后在中断中处理发送地址,读还是写等等,挺多,你看一下就明白了。

使用特权

评论回复
6
xiaoxin1986|  楼主 | 2009-3-16 23:34 | 只看该作者

谢谢LS,不过我是说写入的地址不需要指定从什么开始的吗?

使用特权

评论回复
7
linhai1986| | 2009-3-16 23:54 | 只看该作者

IIC相关资料链接

IIC相关资料链接
HTTP://WWW.ZLGMCU.COM/PHILIPS/PHILIPS-YINGRONG-IIC.ASP
自己去看一下吧

使用特权

评论回复
8
kenand| | 2009-3-17 09:17 | 只看该作者

I2C的一种模式。

以读数据为例,I2C具有多种模式,
连续读
指定地址读。
随机读。

等等。

如果你不指定地址,那么你读的地址将在上次读的地址上自动加1.
推荐去zlg网站上找资料看看。

使用特权

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

本版积分规则

176

主题

1487

帖子

0

粉丝