本来想复位 恢复一下 也就是擦掉我的CFG文件的
我以为是:
case CFG_SET_RESTORE:
{/*清空内部文件 在重启 凶猛*/
sys_cfg_clear();
soft_system_resert(__func__);
}break;
应该是可以的
但是还有高级的
void device_set_default( void )
{
err_log_format();
permi.clear();
journal.clear();
tempwd.clear();
config.write(CFG_SET_RESTORE , NULL , FALSE);
}
你看 它不仅擦掉CFG 还清空了内部的记录!!
这样才帮啊!!!
现在明白了 里面的那个插的BIT是让你 每个数据模块 可以独立擦掉
当然device_set_default就是全部通透差掉
这个函数有地方调用的!!
main任务
__IO uint32_t clearFlashFlag = 0;
if( clearFlashFlag )
{
if( clearFlashFlag & FLASH_PERMI_LIST_BIT)
{
permi.clear();
clearFlashFlag &= ~FLASH_PERMI_LIST_BIT;
}
if( clearFlashFlag & FLASH_PWD_BIT)
{
tempwd.clear();
clearFlashFlag &= ~FLASH_PWD_BIT;
}
if( clearFlashFlag == FLASH_ALL_DATA)
{
device_set_default();
}
}
但是这个__IO uint32_t clearFlashFlag = 0;并没有暴露出来 是一个接口
void set_clear_flash( uint32_t bits)
{
clearFlashFlag |= bits;
}
哦 你终于发现了 按键8S也是这个功能 恢复出厂设置
beep.write_base(&beepRestore);
set_clear_flash(FLASH_ALL_DATA);