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

📄 e2prom.c

📁 台湾义隆公司的EM198810 2.4G无线程序
💻 C
字号:
/************************************************************************
*		 Filename: EEPROM.C												*
*		 Date: 12-13-2006												*
*		 File	Version: -07											*
*		 Author: Nick													*
*		 Company:														*
*		 美国麦尔.马克汽车电子(深圳)有限公司							*
*		 深圳市盐田区北山大道北山工业区1栋8楼							*
*		 Tel:	86-0755-25273131										*
*		 Fax:	86-0755-25273121										*
*		 邮政编码:518083												*
************************************************************************
*	 First Modify	Timer:												*
*	 Second	Modify 	Timer:												*
***********************************************************************/

/*
		Warning!!!

The information contained in this document is the sole property of Mile Marker Automotive (Shenzhen) Ltd. Any reproduction in part or as a whole without the written permission of Mile Marker Automotive (Shenzhen) is prohibited.
此文件所包含的信息的所有权仅归麦尔马克汽车电子(深圳)有限公司所有。未经麦尔马克汽车电子(深圳)有限公司许可不得仿制此产品及其部件。
*/


#include "Main.H"

/******************************************************************************************
*	Function	:	Write_E2prom_Byte
*	Description	:	向PIC内部的EEPROM写指定地址的数据.
*	Input		:	EE_Adr EEPROM 内的地址  ;  EE_Data : 要写入的数据
*	Output		:	None
*	Return		:	None
*	Compile		:	Nick
*	Timer		:	2006-6-16 17:47
*	Note		:
*******************************************************************************************/

void Write_E2prom_Byte(INT8U E2_Adr,INT8U E2_Data)
{
//	SysBit.ExtBit.save_gie = GIE;

	GIE = 0;
	EEADR = E2_Adr;
	EEDAT = E2_Data;
	EEPGD = 0;
	WREN = 1;		//允许写数据到EEPROM
	
	EECON2 = 0X55;
	EECON2 = 0XAA;
	WR = 1;
	GIE = 1;
	while(WR);
	WREN = 0;	//禁止写EEPROM
//	GIE = SysBit.ExtBit.save_gie;
}


/******************************************************************************************
*	Function	:	Read_E2prom_Byte
*	Description	:	读取PIC内部EEPROM指定地址的数据
*	Input		:	EE_Adr EEPROM 内的地址
*	Output		:	None
*	Return		:	返回的是指定地址的数据
*	Compile		:	Nick
*	Timer		:	2006-6-16 17:48
*	Note		:
*******************************************************************************************/
INT8U Read_E2prom_Byte(INT8U E2_Adr)
{
	INT8U Dat;
//	SysBit.ExtBit.save_gie = GIE;
	EEADR = E2_Adr;
	EEPGD = 0;
	RD = 1;
//	GIE = SysBit.ExtBit.save_gie;
	Dat = EEDAT;
	return	Dat;
}



/******************************************************************************************
*	Function	:	Read_nByte_EE
*	Description	:	读取指定长度,指定地址的EE内容
*	Input		:	RD_Length 读的指定长度,EE_Adr : 读取的首地址  EE_Buf:读数据缓冲
*	Output		:	None
*	Return		:	None
*	Compile		:	Nick
*	Timer		:	2006-6-19 8:47
*	Note		:
*******************************************************************************************/
void Read_E2prom_nByte(INT8U Rd_Length,INT8U E2_Adr,INT8U *E2_Buf)
{
	while(Rd_Length--)
	{
		*E2_Buf++ = Read_E2prom_Byte(E2_Adr++);
	}
}



/******************************************************************************************
*	Function	:	Write_E2prom_nByte
*	Description	:	写指定长度,指定起始地址的数据到EEPROM中
*	Input		:	EE_Adr EEPROM 内的开始地址,WE_Length : 指定数据长度 , EE_Buf: 指定的数据指针
*	Output		:	None
*	Return		:	None
*	Compile		:	Nick
*	Timer		:	2006-6-16 17:59
*	Note		:

*******************************************************************************************/
void Write_E2prom_nByte(INT8U Wr_Length,INT8U E2_Adr,INT8U *E2_Buf)
{
	while(Wr_Length--)
	{
		Write_E2prom_Byte(E2_Adr++,*E2_Buf++);
	}
}


⌨️ 快捷键说明

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