📄 eeprom.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 + -