diff --git a/bsp/src/bsp_nt26k.c b/bsp/src/bsp_nt26k.c index 621a591..605bf69 100644 --- a/bsp/src/bsp_nt26k.c +++ b/bsp/src/bsp_nt26k.c @@ -1056,12 +1056,18 @@ int Handle_Config_Params(struct Nt26k_Ops *ops) { if (BSP_Flash_Write_Info(recv_data, sizeof(sys_config_info) - 50) != 0) { - rt_uint16_t iot_upload_time = (uint16_t)Flash_Get_SysCfg(kIotUploadCycleId); - unsigned long timeout = iot_upload_time * 60 * RT_TICK_PER_SECOND; - // rt_timer_stop(nt26k_timer); + rt_uint32_t iot_upload_time = (uint16_t)Flash_Get_SysCfg(kIotUploadCycleId); + rt_uint32_t timeout = iot_upload_time * 60 * RT_TICK_PER_SECOND; + if (iot_upload_time > 24 * 60 * 60 * RT_TICK_PER_SECOND) + { + timeout = 24 * 60 * 60 * RT_TICK_PER_SECOND; + LOG_E("iot_upload_time > 24 * 60 * 60 * RT_TICK_PER_SECOND"); + } + else + { + timeout = iot_upload_time * 60 * RT_TICK_PER_SECOND; + } rt_timer_control(nt26k_timer, RT_TIMER_CTRL_SET_TIME, (void *)&timeout); // 更新上报周期 - // rt_timer_control(nt26k_timer, RT_TIMER_CTRL_GET_TIME, &timeout); - // LOG_D("timeout:%d", timeout/1000/60); rt_timer_start(nt26k_timer); LOG_D("上报周期由%dmin更新为%dmin", ((flash_info[5] << 8) | flash_info[6]), iot_upload_time); if (ops->Resp(ops, DATA_SERIAL_NUM, CMD_TYPE_INSTRUCTION_REPLY, DEVICE_TYPE_NT26K, INSTRUCTION_DOWN_CONFIG_PARAMS, temp, RESPONSE_CODE_SUCCESS) == RT_EOK)