代码拉取完成,页面将自动刷新
同步操作将从 thtfcccj/Eeprom 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/*************************************************************
EEPROM在PIC17F18xxx 内部EEPROM中的实现
* 因调用的库文件,此文件同时适用于XC8编译器的大部分PIC MCU
*************************************************************/
#include <pic.h>
#include "PicBit.h"
#include "Eeprom.h"
//PIC堆栈深度测试,实际堆栈 = IDE显示堆栈 - 5
//#define SUPPORT_STACK_TEST
#ifdef SUPPORT_STACK_TEST
#include <string.h>
//---------------------------读取Eeprom数据---------------------------------
void _Wr_Test3(EepromAdr_t Adr,
void *pVoid,
EepromLen_t Len)
{
Eeprom_Rd(Adr,pVoid,Len);//多4级
}
//---------------------------读取Eeprom数据---------------------------------
void _Wr_Test2(EepromAdr_t Adr,
void *pVoid,
EepromLen_t Len)
{
_Wr_Test3(Adr,pVoid,Len);//多3级
}
//---------------------------读取Eeprom数据---------------------------------
void _Wr_Test(EepromAdr_t Adr,
void *pVoid,
EepromLen_t Len)
{
_Wr_Test2(Adr,pVoid,Len);//多2级
}
#endif
//---------------------------读取Eeprom数据---------------------------------
void Eeprom_Rd(EepromAdr_t Adr,
void *pVoid,
EepromLen_t Len)
{
#ifdef SUPPORT_STACK_TEST
memset(pVoid, 0, Len); //PIC堆栈深度测试,多5级
#endif
unsigned char *pData;
pData = (unsigned char*)pVoid;
for(;Len > 0;Len--,Adr++,pData++)
{
*pData = eeprom_read(Adr);
}
}
//---------------------------写Eeprom数据---------------------------------
void Eeprom_Wr(EepromAdr_t Adr,
const void *pVoid,
EepromLen_t Len)
{
#ifdef SUPPORT_STACK_TEST
_Wr_Test(Adr,pVoid,Len); //PIC堆栈深度测试:多1级
#endif
unsigned char *pData;
pData = (unsigned char*)(pVoid);
for(;Len > 0;Len--,Adr++,pData++)
{
eeprom_write(Adr, *pData);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。