stm32l053 eeprom
Embed:
(wiki syntax)
Show/hide line numbers
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
Generated on Tue Jul 12 2022 20:43:54 by 1.7.2