各位路过的高手,求分享 新塘 N76E885 EEPROM 存储数据
哪个路过的高手,可以分享一下 N76E885EEPROM 存储数据 程序例子 volatile unsigned char code DataFlash _at_ 0x0200; //EEPROM位置#define PAGE_ERASE_AP 0x22
#define BYTE_PROGRAM_AP 0x21
#define EEP_ADD_INIT 1
#define EEP_ADD_PWMR 5
#define EEP_ADD_PWMG 10
#define EEP_ADD_PWMB 15
#define EEP_ADD_PWMW 20
#define EEP_ADD_JK 25
//=============================================================================//保存
void EepromWrite(void)
{
EA =0; //关中断
TA=0xAA; TA=0x55;
CHPCON |= 0x01; //使能
TA=0xAA; TA=0x55;
IAPUEN |= 0x01; //打开更新
IAPCN = PAGE_ERASE_AP;//擦除一页(0x200-0x27F)
IAPAH = 0x02;
IAPAL = 0x00;
IAPFD = 0xFF;
TA = 0xAA;TA = 0x55;
IAPTRG |= 0x01; //执行
IAPCN = BYTE_PROGRAM_AP;//开始写数据
//-------------------------------------------//PWMR
IAPAH = 0x02;
IAPAL = EEP_ADD_PWMR;
IAPFD = PwmData;
TA=0xAA; TA=0x55;
IAPTRG |= 0x01; //执行
//-------------------------------------------//PWMG
IAPAH = 0x02;
IAPAL = EEP_ADD_PWMG;
IAPFD = PwmData;
TA=0xAA; TA=0x55;
IAPTRG |= 0x01; //执行
//-------------------------------------------//PwmB
IAPAH = 0x02;
IAPAL = EEP_ADD_PWMB;
IAPFD = PwmData;
TA=0xAA; TA=0x55;
IAPTRG |= 0x01; //执行
//-------------------------------------------//PwmW
IAPAH = 0x02;
IAPAL = EEP_ADD_PWMW;
IAPFD = PwmData;
TA=0xAA; TA=0x55;
IAPTRG |= 0x01; //执行
//-------------------------------------------//JK
IAPAH = 0x02;
IAPAL = EEP_ADD_JK;
IAPFD = JkData;
TA=0xAA; TA=0x55;
IAPTRG |= 0x01; //执行
//-------------------------------------------//INIT(初始化默认值用)
IAPAH = 0x02;
IAPAL = EEP_ADD_INIT;
IAPFD = 0xAA;
TA=0xAA; TA=0x55;
IAPTRG |= 0x01; //执行
//-------------------------------------------//结束
TA=0xAA; TA=0x55; //关闭更新
IAPUEN &= ~0x01;
TA=0xAA;TA=0x55;
CHPCON &= ~0x01; //关闭使能
EA =1; //开中断
}
PwmData = DataFlash;
PwmData = DataFlash;
PwmData = DataFlash;
PwmData = DataFlash;
JkData = DataFlash; 117433525 发表于 2023-4-23 18:18
(引用自2楼)
谢谢,。
页:
[1]