
stm32l0内部EEPROM和FLASH程序访问方法一样 它们的共同点:0 P% s& b; M( b% U% C2 \ 1,统一排地址:但地址不一样 2,编程方法和的函数一样: O6 T3 C4 m! R& b$ M, A- P 1,先HAL_FLASH_Unlock();开锁写; A- j- ~" H8 P# _/ t! c1 `3 f 2,Write_eeprom_int32(uint16_t addr,uint32_t data32);写 C4 }5 d* @( e8 Z. S( c5 Q 其实是调用HAL_FLASH_Program(TYPEPROGRAM_WORD, EEPROM_START_ADDR+addr, data32);' ~' w$ i) L: {) }4 ] 3,HAL_FLASH_Lock();锁住写0 k* y' r! ^# a5 B5 I 3,擦出方法和函数一样( i$ R8 p; Z0 _0 e1 F; D. h, l# y0 Z HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError); t7 a5 o, W6 h 4,读方法和函数一样 Read_eeprom_int32(uint16_t addr)$ R& c# ]% N1 Y7 J- m# @ 不同点:7 A) r1 v9 J, ~6 j. G6 S; A 地址不一样:: N2 D% d/ f/ g EEPROM:0x08080000开始的2K字节5 \9 ^6 k. b) r FLASH: 0x08000000开始的空间(大小型号决定), 其中你想用的FLASH空间。- e8 y6 U8 `; V" C( w+ z: ~ ! r H7 J( Z8 A7 z, n6 k- ]; T |
STM32L0_hal_flash.c等几个文件里都找不到。
那两个不是库里面的,应该是自己写的