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

📄 eeprom.c

📁 单片机,泰坦电源设备通讯程序.根据协议从泰坦设备中获得状态
💻 C
字号:
//pragma ot(4)
#define EE_GLOBALS
#include "Macro.h"
#include "Main.h"

void ReadEE(unsigned char xdata *Buff, unsigned int len)
{
unsigned int data i;
unsigned int data mAddr;
unsigned char data cTmp;
    mAddr = 0;
	for (i = 0; i < len; i++) {
        EA = 0;
		WMCON |= EEMEN_;   //  enable EEPROM
		cTmp = XBYTE[mAddr++];    //  read value
  		WMCON &= ~EEMEN_;  //  disable EEPROM
        EA = 1;
		*(Buff++) = cTmp;    //  save value
	}
}

unsigned char WriteEE(unsigned char xdata *Source, unsigned int len)
{
unsigned int data mAddr;
unsigned int data iTmp;
unsigned char data cTmp;
unsigned char xdata * cPtr; 
unsigned char xdata mBuff[sizeof(Port1Cmd) + sizeof(Port1Cmd) + 20];

	cPtr = Source;
	mAddr = 0;
	for (iTmp = 0; iTmp < len; iTmp++) {
        cTmp = *(cPtr++);
        EA = 0;
	  	WMCON |= (EEMEN_ | EEMWE_);     // enable EEPROM and set write bit
		XBYTE[mAddr++] = cTmp;          // write value
		while ((WMCON & EERDY_) == 0);  // wait until value programmed
		WMCON &= ~(EEMWE_ | EEMEN_);    // disable EEPROM and write strobe
        EA = 1;
	}
    
	ReadEE( mBuff, len );
	if ( memcmp(mBuff, Source, len) == 0 ) return 1;
    return 0;
}

⌨️ 快捷键说明

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