Dependents: Motorino_Lib xxx_Motorino_Lib
eeprom_intern.h@0:99177ac50c7a, 2022-01-24 (annotated)
- Committer:
- jack1930
- Date:
- Mon Jan 24 12:38:26 2022 +0000
- Revision:
- 0:99177ac50c7a
internes EEPROM
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jack1930 | 0:99177ac50c7a | 1 | #include "mbed.h" |
jack1930 | 0:99177ac50c7a | 2 | |
jack1930 | 0:99177ac50c7a | 3 | char *meinEEPROM=(char*)FLASH_EEPROM_BASE; |
jack1930 | 0:99177ac50c7a | 4 | //Byte write |
jack1930 | 0:99177ac50c7a | 5 | void EEPROM_WRITE(int Startadresse, char *Data, int len) |
jack1930 | 0:99177ac50c7a | 6 | { |
jack1930 | 0:99177ac50c7a | 7 | ScopedRomWriteLock make_rom_writable; |
jack1930 | 0:99177ac50c7a | 8 | FLASH->PEKEYR=FLASH_PEKEY1;//0x89ABCDEF; //unlock |
jack1930 | 0:99177ac50c7a | 9 | FLASH->PEKEYR=FLASH_PEKEY2;//0x02030405; |
jack1930 | 0:99177ac50c7a | 10 | if ((FLASH->PECR&1)==0) |
jack1930 | 0:99177ac50c7a | 11 | for(int i=0;i<len;i++) |
jack1930 | 0:99177ac50c7a | 12 | { |
jack1930 | 0:99177ac50c7a | 13 | meinEEPROM[i]=Data[i]; |
jack1930 | 0:99177ac50c7a | 14 | |
jack1930 | 0:99177ac50c7a | 15 | } |
jack1930 | 0:99177ac50c7a | 16 | else printf("not unlock"); |
jack1930 | 0:99177ac50c7a | 17 | FLASH->PECR|=1; //Lock |
jack1930 | 0:99177ac50c7a | 18 | } |
jack1930 | 0:99177ac50c7a | 19 | |
jack1930 | 0:99177ac50c7a | 20 | //Byte read |
jack1930 | 0:99177ac50c7a | 21 | void EEPROM_READ(int Startadresse, char *Data, int len) |
jack1930 | 0:99177ac50c7a | 22 | { |
jack1930 | 0:99177ac50c7a | 23 | for(int i=0;i<len;i++) |
jack1930 | 0:99177ac50c7a | 24 | { |
jack1930 | 0:99177ac50c7a | 25 | Data[i]=meinEEPROM[i+Startadresse]; |
jack1930 | 0:99177ac50c7a | 26 | } |
jack1930 | 0:99177ac50c7a | 27 | } |