13929097792 发表于 2023-4-23 17:58:29

各位路过的高手,求分享 新塘 N76E885 EEPROM 存储数据

哪个路过的高手,可以分享一下 N76E885EEPROM 存储数据 程序例子

117433525 发表于 2023-4-23 18:18:46

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;

13929097792 发表于 2023-4-23 21:39:41

117433525 发表于 2023-4-23 18:18

(引用自2楼)

谢谢,。
页: [1]
查看完整版本: 各位路过的高手,求分享 新塘 N76E885 EEPROM 存储数据