zoukankan      html  css  js  c++  java
  • STM8 EEPROM:

    stm8的EEPROM的搽除是写0,FLASH_PRO与FLASH_DATA写的秘钥顺序相反

    EEPROM读写前要解锁的。这个很简单,在技术文档里讲得很清楚。我用一个宏定义来代表EEPROM单元。
    #define  EEPROM_BASE_ADDR     0x4000
    #define  ADDRESS(i)       (*(volatile unsigned char *)(EEPROM_BASE_ADDR + i))
    读0x4000单元,用 x =  ADDRESS(0); 读0x4001单元,用 x =  ADDRESS(1);。。。。。。。。。。
    写0x4000单元,用 ADDRESS(0)  = x; 写0x4001单元,用 ADDRESS(1)  = x; 。。。。。。。。。。
    调试时,用  memory   窗口可以看到数据是否写进去。

    FLASH_Unlock(FLASH_MEMTYPE_DATA);
    while(!(FLASH->IAPSR & FLASH_IAPSR_DUL));/* ADD 等待解锁完毕*/

    ADDRESS(1)  = x

    FLASH_Lock(FLASH_MEMTYPE_DATA);

    stvd:

    //#define  EEPROM_BASE_ADDR    XXXX
    //#define  ADDRESS(i)       (*(volatile  @far unsigned char *)(EEPROM_BASE_ADDR + i))

    uchar @far *Flash_addr=(uchar @far*)(addrEEPROM_BASE_ADDR  );   

  • 相关阅读:
    网络系列之
    网络系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
  • 原文地址:https://www.cnblogs.com/jieruishu/p/5817497.html
Copyright © 2011-2022 走看看