amobbs.com 阿莫电子技术论坛

标题: 各位路过的高手,求分享 新塘 N76E885 EEPROM 存储数据 [打印本页]

作者: 13929097792    时间: 2023-4-23 17:58
标题: 各位路过的高手,求分享 新塘 N76E885 EEPROM 存储数据
哪个路过的高手,可以分享一下 N76E885  EEPROM 存储数据 程序例子
作者: 117433525    时间: 2023-4-23 18:18
  1. volatile unsigned char code DataFlash[128] _at_ 0x0200;        //EEPROM位置

  2. #define          PAGE_ERASE_AP            0x22
  3. #define          BYTE_PROGRAM_AP          0x21

  4. #define                EEP_ADD_INIT                1
  5. #define                EEP_ADD_PWMR                5
  6. #define                EEP_ADD_PWMG                10
  7. #define                EEP_ADD_PWMB                15
  8. #define                EEP_ADD_PWMW                20
  9. #define                EEP_ADD_JK                        25

  10. //=============================================================================//保存
  11. void EepromWrite(void)
  12. {
  13.         EA =0;                                //关中断
  14.         TA=0xAA; TA=0x55;
  15.         CHPCON |= 0x01;                //使能
  16.        
  17.         TA=0xAA; TA=0x55;
  18.         IAPUEN |= 0x01;                //打开更新
  19.        
  20.         IAPCN = PAGE_ERASE_AP;//擦除一页(0x200-0x27F)
  21.         IAPAH = 0x02;
  22.         IAPAL = 0x00;
  23.         IAPFD = 0xFF;
  24.         TA = 0xAA;TA = 0x55;
  25.         IAPTRG |= 0x01;                //执行
  26.        
  27.         IAPCN = BYTE_PROGRAM_AP;//开始写数据
  28.        
  29.         //-------------------------------------------//PWMR
  30.         IAPAH = 0x02;
  31.         IAPAL = EEP_ADD_PWMR;
  32.         IAPFD = PwmData[0];
  33.         TA=0xAA; TA=0x55;
  34.         IAPTRG |= 0x01;                //执行
  35.        
  36.         //-------------------------------------------//PWMG
  37.         IAPAH = 0x02;
  38.         IAPAL = EEP_ADD_PWMG;
  39.         IAPFD = PwmData[1];
  40.         TA=0xAA; TA=0x55;
  41.         IAPTRG |= 0x01;                //执行
  42.        
  43.         //-------------------------------------------//PwmB
  44.         IAPAH = 0x02;
  45.         IAPAL = EEP_ADD_PWMB;
  46.         IAPFD = PwmData[2];
  47.         TA=0xAA; TA=0x55;
  48.         IAPTRG |= 0x01;                //执行
  49.        
  50.         //-------------------------------------------//PwmW
  51.         IAPAH = 0x02;
  52.         IAPAL = EEP_ADD_PWMW;
  53.         IAPFD = PwmData[3];
  54.         TA=0xAA; TA=0x55;
  55.         IAPTRG |= 0x01;                //执行
  56.        
  57.         //-------------------------------------------//JK
  58.         IAPAH = 0x02;
  59.         IAPAL = EEP_ADD_JK;
  60.         IAPFD = JkData;
  61.         TA=0xAA; TA=0x55;
  62.         IAPTRG |= 0x01;                //执行
  63.        
  64.         //-------------------------------------------//INIT(初始化默认值用)
  65.         IAPAH = 0x02;
  66.         IAPAL = EEP_ADD_INIT;
  67.         IAPFD = 0xAA;
  68.         TA=0xAA; TA=0x55;
  69.         IAPTRG |= 0x01;                //执行
  70.        
  71.         //-------------------------------------------//结束
  72.         TA=0xAA; TA=0x55;        //关闭更新
  73.         IAPUEN &= ~0x01;
  74.        
  75.         TA=0xAA;TA=0x55;
  76.         CHPCON &= ~0x01;        //关闭使能
  77.        
  78.         EA =1;                                //开中断
  79. }

  80. PwmData[0] = DataFlash[EEP_ADD_PWMR];
  81. PwmData[1] = DataFlash[EEP_ADD_PWMG];
  82. PwmData[2] = DataFlash[EEP_ADD_PWMB];
  83. PwmData[3] = DataFlash[EEP_ADD_PWMW];
  84. JkData     = DataFlash[EEP_ADD_JK];
复制代码

作者: 13929097792    时间: 2023-4-23 21:39
117433525 发表于 2023-4-23 18:18

(引用自2楼)

谢谢,。




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4