stm32l053 eeprom
eeprom.cpp@0:143c9dcabcf0, 2016-09-30 (annotated)
- Committer:
- lzbpli
- Date:
- Fri Sep 30 01:01:27 2016 +0000
- Revision:
- 0:143c9dcabcf0
stm32l053 eeprom read wirte erse
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lzbpli | 0:143c9dcabcf0 | 1 | #include "eeprom.h" |
lzbpli | 0:143c9dcabcf0 | 2 | |
lzbpli | 0:143c9dcabcf0 | 3 | void EEPROM_Write(uint16_t WriteAddr,uint8_t *pBuffer,uint16_t NumToWrite) |
lzbpli | 0:143c9dcabcf0 | 4 | { |
lzbpli | 0:143c9dcabcf0 | 5 | uint16_t t; |
lzbpli | 0:143c9dcabcf0 | 6 | HAL_FLASHEx_DATAEEPROM_Unlock(); |
lzbpli | 0:143c9dcabcf0 | 7 | for(t = 0;t < NumToWrite;t++) |
lzbpli | 0:143c9dcabcf0 | 8 | { |
lzbpli | 0:143c9dcabcf0 | 9 | HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_BYTE,DATA_EEPROM_BASE + WriteAddr + t,*(pBuffer + t)); |
lzbpli | 0:143c9dcabcf0 | 10 | } |
lzbpli | 0:143c9dcabcf0 | 11 | HAL_FLASHEx_DATAEEPROM_Unlock(); |
lzbpli | 0:143c9dcabcf0 | 12 | } |
lzbpli | 0:143c9dcabcf0 | 13 | |
lzbpli | 0:143c9dcabcf0 | 14 | //PageRange 0-511 |
lzbpli | 0:143c9dcabcf0 | 15 | void EEPROM_ErasePages(uint16_t startPage,uint16_t endPage) |
lzbpli | 0:143c9dcabcf0 | 16 | { |
lzbpli | 0:143c9dcabcf0 | 17 | uint16_t t; |
lzbpli | 0:143c9dcabcf0 | 18 | for(t = startPage ;t <= endPage;t++) |
lzbpli | 0:143c9dcabcf0 | 19 | { |
lzbpli | 0:143c9dcabcf0 | 20 | HAL_FLASHEx_DATAEEPROM_Erase(DATA_EEPROM_BASE + t*4); |
lzbpli | 0:143c9dcabcf0 | 21 | } |
lzbpli | 0:143c9dcabcf0 | 22 | } |
lzbpli | 0:143c9dcabcf0 | 23 | |
lzbpli | 0:143c9dcabcf0 | 24 | void EEPROM_Read(uint16_t ReadAddr,uint8_t *pBuffer,uint16_t NumToRead) |
lzbpli | 0:143c9dcabcf0 | 25 | { |
lzbpli | 0:143c9dcabcf0 | 26 | uint16_t t; |
lzbpli | 0:143c9dcabcf0 | 27 | for(t = ReadAddr;t < NumToRead ;t++) |
lzbpli | 0:143c9dcabcf0 | 28 | { |
lzbpli | 0:143c9dcabcf0 | 29 | *(pBuffer + t) = *(uint8_t*)(DATA_EEPROM_BASE + ReadAddr + t); |
lzbpli | 0:143c9dcabcf0 | 30 | } |
lzbpli | 0:143c9dcabcf0 | 31 | } |
lzbpli | 0:143c9dcabcf0 | 32 |