这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 【武汉芯源CW32】OTA升级系列之六驱动CW24C02AD

共7条 1/1 1 跳转至

【武汉芯源CW32】OTA升级系列之六驱动CW24C02AD

助工
2024-10-09 23:00:02     打赏

【前言】

上一篇【武汉芯源CW32】OTA升级系列之五软件模拟IIC驱动-电子产品世界论坛 (eepw.com.cn)

我实现了IIC的驱动库的制作,这一篇来实现板载的EEPROM的CW24C02AD的数据读取。

【CW24C02简介】

CW24C02A/04A/08A2048/4096/8192位的串行电可擦 除只读存储器(EEPROM),分别采用256/512/1024×8位的 组织结构,广泛应用于低电压和低功耗的工商业领域。 CW24C02A/04A/08A采用两线串行接口,支持1.7V1.8 5.5V)版本。

他的读写时序图如下:

image.png

image.png

image.png

【实现步骤】

1、创建CW24C02.c/h文件,并把他加入到工程分组HW中。

2、先确定他的地址,从原理图上看到三个地址线都是接到了地上,他的写地址就是0xA0,读地址为0xA1。在头文件中宏定义声明:

#define CW24C02_WADDR           0xA0
#define CW24C02_RADDR           0xA1

3、他的WC写入使能脚接到了地,所以不需要操作这个管脚,可以直接写入。

4、根据写入一个字节的时序图,我们编写写入函数如下:

uint8_t CW24C02_Write_Byte(uint8_t addr, uint8_t data)
{
	IIC_Start();
	IIC_Send_Byte(CW24C02_WADDR);
	if(0 != IIC_Wait_Ack(100)) return 1;
	IIC_Send_Byte(addr);
	if(0 != IIC_Wait_Ack(100)) return 2;
	
	IIC_Send_Byte(data);
	if(0 != IIC_Wait_Ack(100)) return 3;
	IIC_Stop();
	return 0;
}

5、写入一页,我们查看数据手册,整个页的地址为8个字节,总共有32页。所以我们在检测输入页数时,需要先检测一下是否超过页数了。代码如下:

uint8_t CW24C02_Write_Page(uint8_t addr, uint8_t *wdata)
{
	uint8_t i;
	//0-31页
	if(addr >=32) 
		return 99;
	
	IIC_Start();
	IIC_Send_Byte(CW24C02_WADDR);
	if(0 != IIC_Wait_Ack(100)) return 1;
	IIC_Send_Byte(addr*8);
	if(0 != IIC_Wait_Ack(100)) return 2;
	for(i=0;i<8;i++)
	{
			IIC_Send_Byte(wdata[i]);
			if(0 != IIC_Wait_Ack(100)) return 3+i;
			
	}
	IIC_Stop();
	return 0;
}

6、读取数据,这里我们制作了一个连继读取多个的程序:

uint8_t CW24C02_Read_Data(uint8_t addr, uint8_t *rdata, uint8_t datalen)
{
	uint8_t i;
	IIC_Start();
	IIC_Send_Byte(CW24C02_WADDR);
	if(0 != IIC_Wait_Ack(100)) return 1;
	IIC_Send_Byte(addr);
	if(0 != IIC_Wait_Ack(100)) return 2;
	IIC_Start();
	IIC_Send_Byte(CW24C02_RADDR);
	if(0 != IIC_Wait_Ack(100)) return 3;
	for(i=0;i<datalen-1;i++)
	{
		rdata[i] = IIC_Read_Byte(1);
	}
	rdata[datalen-1] = IIC_Read_Byte(0);
	IIC_Stop();
	return 0;
}





关键词: CW24C02AD     驱动    

工程师
2024-10-10 00:02:33     打赏
2楼

666666


专家
2024-10-10 00:55:43     打赏
3楼

感谢楼主分享


专家
2024-10-10 08:32:49     打赏
4楼

感谢分享


专家
2024-10-10 09:27:13     打赏
5楼

感谢楼主分享


院士
2024-10-10 18:15:32     打赏
6楼

学习了丰富的资料,谢谢分享。


专家
2024-10-11 11:25:24     打赏
7楼

感谢楼主分享


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]