📄 mem.c
字号:
/*
************************************************************************
* mem.c:
*
********************************************************************
*/
#include "include\macro.h"
#include "include\HardConfig.h"
#include "include\SysConfig.h"
#include "include\SubConfig.h"
#include "include\data.h"
#include "include\bitdef.h"
#include "include\FunAnnounce.h"
/*****************************************************************************
*
******************************************************************************/
void Get_default(uint Dest,uchar *Src,uchar len)
{
register unsigned char i;
switch(Dest)
{
case E2P_ID:
case E2P_MM0:
case E2P_USERDEFINE:
for(i=len; i>0; i--)
{
*Src = 0;
Src++;
}
break;
case E2P_PLUSE:
*Src = (CONS_METER/2);
break;
case E2P_EADJ:
for(i=3; i>0; i--)
{
*Src = 0x50;
Src++;
*Src = 0x35;
Src++;
}
break;
default:
break;
}
}
/*****************************************************************************
*
******************************************************************************/
void MEM_Write(uint Dest, uchar *Src, uchar len )
{
uchar tmp_data0;
Sram.WrPw = MEMW_ENABLE;
WtEEpage(Dest,Src,len);
tmp_data0 = Get_csckNum( Src, len );
WtEEpage((Dest+len),&tmp_data0,0x01);
WtEEpage(Dest+E2PBAK,Src,len);
WtEEpage((Dest+len)+E2PBAK,&tmp_data0,0x01);
Sram.WrPw = MEMW_FORBID ; //
}
/*****************************************************************************
*
******************************************************************************/
char MEM_Read(uint Dest, uchar *Src, uchar len)
{
uchar tmp_data0;
RdEeprom(Dest,Src,len);
RdEeprom(Dest+len,&tmp_data0,0x01);
if ( Get_csckNum( Src,len ) == tmp_data0 ) return(1);
RdEeprom(Dest+E2PBAK,Src,len);
RdEeprom(Dest+len+E2PBAK,&tmp_data0,0x01);
if ( Get_csckNum( Src,len ) == tmp_data0 ) return(1);
Get_default(Dest,Src,len);
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -