w_r_e2ram.c

来自「433.92m无线模块的接收到有效数据后」· C语言 代码 · 共 65 行

C
65
字号
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
#include "Reg935.h"
#include "W_R_E2RAM.h"
//////////////////////////////////////////////////////////////////////////////////////////
/*--------------------------------------------------------------------------------------*/
//////////////////////////////////////////////////////////////////////////////////////////
  void Write_Datato_E2RAM (uchar Count,uchar Addr,uchar *Wdata_Addr  )
  {
    uchar	*Temp;
    Temp=Wdata_Addr;
		EA=0;					//写操作前关闭中断功能,避免干扰		
			while(Count>0)			
			{
				DEECON=0x00;			//初始化DEECON
				DEEDAT=*Temp;			//赋值DEEDAT
				DEEADR=Addr;			//赋值DEEADR
				
				while((DEECON&0x80)==0);	//等待写完成

				DEECON=DEECON&0x7F;		//清0写完成标志
				Addr++;				//地址递增
				Temp++;
				Count--;			//循环次数递减
			
			}
			EA=1;					//开中断
  }
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
 void Read_Datato_E2RAM (uchar Count,uchar Addr,uchar *Wdata_Addr  )
 {	 uchar	*Temp;
     Temp=Wdata_Addr;       
			while(Count>0)
			{
				DEECON=0x00;			//初始化DEECON
				DEEADR=Addr;			//赋值DEEADR
				while((DEECON&0x80)==0);	//等待

				*Temp=DEEDAT;			//将读出的值赋给Tem				
			    Temp++;
				Addr++;				//地址递增
				Count--;			//循环次数递减
			}
	
 }
////////////////////////////////////////////////////////////////////////////
void Write_Datato_00E2RAM (uchar Count,uchar Addr )
{
		EA=0;					//写操作前关闭中断功能,避免干扰		
			while(Count>0)			
			{
				DEECON=0x00;			//初始化DEECON
				DEEDAT=0x00;			//赋值DEEDAT
				DEEADR=Addr;			//赋值DEEADR
				
				while((DEECON&0x80)==0);	//等待写完成

				DEECON=DEECON&0x7F;		//清0写完成标志
				Addr++;				//地址递增
				Count--;			//循环次数递减
			
			}
			EA=1;					//开中断
  }

⌨️ 快捷键说明

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