//写入设置信息
void EEPROM_SET_BASE_DATA(uint8_t Buf){
uint8_t len = strlen((char)Buf);
printf("Buf Len=%d\n",len);
HAL_DATA_EEPROMEx_Unlock();
printf("Unlock\n");
while (len--){
printf("%x\n",BASE_DATA_ADDR);
printf("0-%d\n",len);
HAL_DATA_EEPROMEx_Erase(BASE_DATA_ADDR);
printf("1-%d\n",len);
//while(FLASH->SR&FLASH_SR_BSY);
printf("2-%d\n",len);
HAL_DATA_EEPROMEx_Program(FLASH_TYPEPROGRAMDATA_BYTE,BASE_DATA_ADDR,*Buf);
printf("3-%d\n",len);
//while(FLASH->SR&FLASH_SR_BSY);
printf("4-%d\n",len);
Buf++;BASE_DATA_ADDR++;
}
HAL_DATA_EEPROMEx_Erase(BASE_ADDR);
HAL_DATA_EEPROMEx_Program(FLASH_TYPEPROGRAMDATA_BYTE,BASE_ADDR,'1');
HAL_DATA_EEPROMEx_Lock();
}
这代码有问题?我是按照解锁,擦除,写入,上锁步骤来的,但是程序一直卡在擦除那里,这是为啥?