找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2|回复: 0
打印 上一主题 下一主题
收起左侧

为什么EEPROM在刚读取的时候那个变量是正确的,但是过会那个变量就清零了

[复制链接]
跳转到指定楼层
楼主
ID:1166464 发表于 2026-1-7 16:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. u8 EEPROM_Byte_Write(u16 addr,u8 value)//这个是写入的
  2. {
  3.   EA = 0;
  4.         SET_INFOS();   // Ñ¡ÔñEEORIMÇø
  5.         SET_IAPEN();   // ´ò¿ªIAP¹¦ÄÜ(Á¬ÐøÐ´Á½´ÎÓÐЧ)
  6.         SET_IAPEN();
  7.   SET_CLRPL();   //  CLRPL ÖØ¸´Ö´ÐÐ2´ÎÖÃ1
  8.   SET_CLRPL();
  9.        
  10.         IAPADL = (u8)addr;
  11.         IAPADH = (u8)(addr>>8); // Ñ¡ÔñҪдÈëµÄµØÖ·
  12.         IAPDBH = value;
  13.        
  14.         SET_IAPEN();   // ´ò¿ªIAP¹¦ÄÜ(Á¬ÐøÐ´Á½´ÎÓÐЧ)
  15.         SET_IAPEN();       
  16.         SET_PROWR();       
  17.         SET_PROWR();
  18.         ULOCK_IAP();
  19.         SET_IAPSTR();
  20.         ULOCK_IAP();
  21.         SET_IAPTRIG0();
  22.         ULOCK_IAP();
  23.         SET_IAPTRIG1();
  24.         ULOCK_IAP();
  25.         SET_IAPTRIG2();       
  26.   _nop_();
  27.   _nop_();
  28.   _nop_();
  29.   _nop_();
  30.        
  31.         CLR_INFOS();              //Çл»²Ù×÷ÇøFLASH
  32.         CLR_IAPEN();              //¹Ø±ÕIAP¹¦ÄÜ
  33.   EA = 1;
  34.        
  35.         if(IAPCR & 0x80)   //IAPSTR λ½«Ó²¼þÇå 0£¬±íʾ±¾´ÎÒ³²Á³ý³É¹¦       
  36.         {
  37.                 return 0;
  38.         }
  39.        
  40.   if (value != EEPROM_Byte_Read(addr)) // sinomcu eeprom¶ÁÈ¡µÄÊý¾ÝÓëʵ¼ÊÊý¾Ý²»·û´¦Àí
  41.   {
  42.     return 0;
  43.   }
  44.   return 1;
  45. }
复制代码
  1. u8 EEPROM_Byte_Read(u16 addr)//这个是读取的
  2. {
  3.         u8 read_data;
  4.         EA = 0;
  5.         SET_INFOS();
  6.         read_data=CBYTE[addr];
  7.         CLR_INFOS();
  8.         EA = 1;
  9.   return read_data;
  10. }
复制代码

另外怎么插图片啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表