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

📄 mem.c

📁 本公司的单相CPU卡表的源程序代码
💻 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 + -