eeprom.c

来自「一个非常好的微处理器烧录EEPROM的C++ 原代码项目文件,直接可用,而且还」· C语言 代码 · 共 50 行

C
50
字号
#include	"PublicDef.H"
#include	"Publicfunction.h"
//=======================================
struct
	{
		WORD	wPages_Eeprom;
		BYTE	bType_Eeprom;
		BYTE	bBytes_PerPage;
	}Eeprom;
BYTE	IDATA Eeprom_Wait=0;
//===============================================
BIT	EepromRead(WORD SubAddr,BYTE bBytes_PerPage)
{
	while (Eeprom_Wait) {;}
	if	(Eeprom.bType_Eeprom>=EEPROM_24C32)
	{
	       if (IIC_ReadW(EEPROM_ADDR,SubAddr,bBytes_PerPage))
		return btIIC_ERROR;   	
	}
	else
	{
	       if (IIC_Read(EEPROM_ADDR+(Hi_Byte(SubAddr)<<1)+((IIC_Type%2)<<3),SubAddr%256,bBytes_PerPage))
		return btIIC_ERROR;   	
	}
	return  btIIC_RIGHT;  
}
//===============================================
BIT		 EepromWrite(WORD SubAddr, BYTE bBytes_PerPage)
{
      	while(Eeprom_Wait);
	if	(Eeprom.bType_Eeprom>=EEPROM_24C32)
	{
	    	if  (IIC_WriteW(EEPROM_ADDR,SubAddr, bBytes_PerPage))
		return	btIIC_ERROR;	
	}
	else
	{
	    	if  (IIC_Write(EEPROM_ADDR+(Hi_Byte(SubAddr)<<1)+((IIC_Type%2)<<3),SubAddr%256,bBytes_PerPage))
		return	btIIC_ERROR;	
	}
      	Eeprom_Wait=WaiTime_Eeprom;   
    	return  btIIC_RIGHT;	 	
}

void	Reset_Eeprom(void)
{
	while(Eeprom_Wait);
	IIC_Stop();
}

⌨️ 快捷键说明

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