stm32l053 eeprom

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers eeprom.cpp Source File

eeprom.cpp

00001 #include "eeprom.h"
00002 
00003 void EEPROM_Write(uint16_t WriteAddr,uint8_t *pBuffer,uint16_t NumToWrite)
00004 {
00005     uint16_t t;
00006     HAL_FLASHEx_DATAEEPROM_Unlock();    
00007     for(t = 0;t < NumToWrite;t++)
00008     {
00009         HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_BYTE,DATA_EEPROM_BASE + WriteAddr + t,*(pBuffer + t));
00010     }
00011     HAL_FLASHEx_DATAEEPROM_Unlock();
00012 }
00013 
00014 //PageRange 0-511
00015 void EEPROM_ErasePages(uint16_t startPage,uint16_t endPage)
00016 {
00017     uint16_t t;
00018     for(t = startPage ;t <= endPage;t++)
00019     {
00020         HAL_FLASHEx_DATAEEPROM_Erase(DATA_EEPROM_BASE + t*4);
00021     }
00022 }
00023 
00024 void EEPROM_Read(uint16_t ReadAddr,uint8_t *pBuffer,uint16_t NumToRead)
00025 {
00026     uint16_t t;
00027     for(t = ReadAddr;t < NumToRead ;t++)
00028     {
00029         *(pBuffer + t) = *(uint8_t*)(DATA_EEPROM_BASE + ReadAddr + t);
00030     }
00031 }
00032