⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eeprom.h

📁 西安明朗公司开发板ML-F020ICB的全部测试代码
💻 H
字号:
/************************************************************************************
*  Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* Http:  www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: eeprom.h
* Project  : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
* 
* Author:  李林利
* Version: 1.20
* Date:    2007.6.1
* Email:   GavinLi@126.com
* 
* Description: 本文件是IIC器件AT24Cxxx硬件驱动程序头文件;
*
* Others: 适用器件: AT24C01/02/04/08/16/32/64/128/256;
*
* Function List:
*	1. void EEPROM_Init(unsigned char chip, unsigned long clk)		
*   2. void EEPROM_Read(unsigned int addr, unsigned char *p, unsigned int len)
*	3. void EEPROM_Write(unsigned int addr, unsigned char *p, unsigned int len)
*
* History:
*   1. Author:       李林利  
*	   Version: 	 1.10
*	   Date:         2007.3.12
*      Modification: none
*
*   2. Author:       李林利   
*	   Version: 	 1.00
*      Date:         2004.11.24
*      Modification: 建立文件
*
*************************************************************************************/
/*************************************************************************************
* 						IIC器件AT24Cxxx硬件驱动程序函数使用说明
*
*	1. 第1步, 必须先调用函数EEPROM_Init();该函数clk设置了AT24Cxxx通信速度,要求在
*      50000HZ~400000HZ之间;本函数只允许调用1次;
*	2. 第2步, 调用EEPROM_Read()函数用于读取EEPROM中的数据, 
       调用EEPROM_Write()函数用于向EEPROM中写入数据;
*	3. 其它细节详见具体函数说明;
*
*************************************************************************************/
/************************************************************************************
// 常量及全局变量定义
*************************************************************************************/
// 以下定义绝对不能修改
#define	AT24C01		1		// 128 x 8bits
#define AT24C02 	2		// 256 x 8bits
#define AT24C04 	3		// 512 x 8bits
#define AT24C08 	4		// 1024 x 8bits
#define AT24C16 	5		// 2048 x 8bits
#define AT24C32 	6		// 4096 x 8bits
#define AT24C64 	7		// 8192 x 8bits
#define AT24C128 	8		// 16384 x 8bits
#define AT24C256 	9		// 32768 x 8bits


/*************************************************************************************/
//
// 						IIC器件AT24Cxxx硬件驱动程序外部引用声明
//
/*************************************************************************************/

/***********************************************************************************
* Function: EEPROM_Init;
*
* Description: EEPROM初始化;
*
* Input:  chip,EEPROM芯片类型; clk,EEPROM通信速度;
*
* Output: none;
*
* Return: none
*
* Note:   EEPROM 通信速度是以MCU时钟频率为22.1184MHZ计算的, 如时钟频率为11.0592MHZ,
*		  则EEPROM通信速度减半;
************************************************************************************/
void EEPROM_Init(unsigned char chip, unsigned long clk);

/***********************************************************************************
* Function: EEPROM_Read;
*
* Description: 从EEPROM的某个地址开始读取一段数据函数;
*              
* Input:  addr,EEPROM读取的起始地址; *P,读取数据存储的地址指针; len,要读取数据长度;
*
* Output: none;
*
* Return: non;
*
* Note:   addr与len应该满足:len+addr小于EEPROM的容量,否则出错;
************************************************************************************/
void EEPROM_Read(unsigned int addr, unsigned char *p, unsigned int len);

/***********************************************************************************
* Function: EEPROM_Write;
*
* Description: 从EEPROM的某个地址开始写入一段数据函数;
*              
* Input:  addr,EEPROM写入的起始地址;*P,写入数据存储的地址指针;len,要写入数据长度;
*
* Output: none;
*
* Return: none;
*
* Note:   addr与len应该满足:len+addr小于EEPROM的容量,否则出错;
************************************************************************************/
void EEPROM_Write(unsigned int addr, unsigned char *p, unsigned int len);

/***********************************************************************************/
// 文件结束
/***********************************************************************************/



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -