本帖最后由 djz1992 于 2020-9-1 21:22 编辑
MX生成的代码,在头文件中自带了flash的写入函数、解锁函数、上锁函数
HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
HAL_StatusTypeDef HAL_FLASH_Unlock(void)
HAL_StatusTypeDef HAL_FLASH_Lock(void)
网上找了一个例程,也使用的这三个函数
void flash_write_halfword(uint32_t addr, uint16_t * buff, uint16_t len)
{
/* 1/4解锁FLASH*/
HAL_FLASH_Unlock();
for(int i = 0; i < len; i++)
{
/* 3/4对FLASH烧写*/
HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, addr + i*2, buff);
}
/* 4/4锁住FLASH*/
HAL_FLASH_Lock();
}
但是实测下来没有用,没有写入。不知道HAL库的这些函数该怎么用。
|