| | |
| | | } |
| | | return 0; |
| | | } |
| | | uint8_t resultnum; |
| | | uint32_t save_com_map_to_flash(void) |
| | | { |
| | | uint32_t result = 0; |
| | | resultnum=0; |
| | | if(parameter_check()) //参数错误,不保存 |
| | | { |
| | | return 1; |
| | | } |
| | | __disable_irq(); |
| | | while(1) |
| | | { |
| | | result = FLASH_Prepare(FLASH_IAP_CTRL_MAP, (COM_MAP_SIZE<<1)); |
| | | if(result) |
| | | {break;} |
| | | else |
| | | {resultnum++;} |
| | | if(resultnum>200) |
| | | { |
| | | HAL_NVIC_SystemReset(); |
| | | } |
| | | } |
| | | if(result) |
| | | result = FLASH_Write(FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, (COM_MAP_SIZE<<1)); |
| | | __enable_irq(); |
| | |
| | | g_com_map[MOTOR_ENABLE]=1; //震动电机使能 |
| | | g_com_map[IMU_ENABLE]=1; //静止休眠使能 |
| | | |
| | | g_com_map[UWB_ONFLAG]=1; |
| | | g_com_map[CNT_RESTART]=0; |
| | | g_com_map[CNT_REBOOT]=0; |
| | | g_com_map[CNT_UPDATE]=0; |