HAL_StatusTypeDef statu;
FLASH_EraseInitTypeDef f;
uint32_t Address=0x08010000;
uint32_t data=0x12345678;
uint32_t PageError = 0;//set page error
HAL_FLASH_Unlock();//解锁
//erase flash
f.TypeErase = FLASH_TYPEERASE_PAGES;
f.PageAddress = Address;
f.NbPages = 1;
HAL_FLASHEx_Erase(&f, &PageError);
HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, data);
HAL_FLASH_Lock();//锁
这个程序放在初始化里,是可以写成功的,如果放在主循环或者是外部触发的情况去写,就不成功,请大侠们帮我看看,是怎么回事?还是其它的设置不对?谢谢!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>