標(biāo)題: STM8L051F3寄存器版EEPROM源程序 [打印本頁(yè)]

作者: 閑散子    時(shí)間: 2019-3-10 18:14
標(biāo)題: STM8L051F3寄存器版EEPROM源程序
#include "Config.h"
u8      Eeprom_text     =       0;

void EEPROM_write(unsigned char addr, unsigned char dat)
{
   u8 *Ptr_SegAddr; //Segment pointer

   Ptr_SegAddr = (u8 *)(EP_HEADER_ADDR+addr);  //Initialize  pointer

   FLASH_DUKR=0xAE;

   FLASH_DUKR=0x56;

   while(!FLASH_IAPSR_DUL);//如果DUL沒(méi)有置位,說(shuō)明解鎖不成功,最好加入超時(shí)判斷

   asm("sim");//關(guān)閉中斷

   *Ptr_SegAddr=dat; //指定地址,寫(xiě)1 字節(jié)

   while(!FLASH_IAPSR_EOP);//等待寫(xiě)操作完成,最好加入超時(shí)判斷

   asm("rim");//打開(kāi)中斷

   FLASH_IAPSR_DUL=0;//上鎖,對(duì)DATA EEPROM寫(xiě)保護(hù)

   ////////////////////

}

//EEPROM指定地址讀出一個(gè)數(shù)據(jù) addr:相對(duì)地址
unsigned char EEPROM_read(unsigned char addr)
{
   uint16_t Data=0;

   uint8_t *Ptr_SegAddr;

   Ptr_SegAddr = (uint8_t *)(EP_HEADER_ADDR+addr);  //Initialize  pointer

   Data=*Ptr_SegAddr;

   return Data;
}






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1