?? 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 + -