下面这段代码里, tmos_start_task(App_TaskID, APP_NODE_TEST_EVT, 800); //发送时长1600=1s
这个代码为什么至少要800还是多少,否则下一节点无法收到信息呢?想要达到毫秒级。
PRINT("sleep mode sleep \n"); tmos_stop_task(halTaskID, HAL_REG_INIT_EVENT); //默认2分钟一次的校准先暂停 DelayMs(5); // RTC_TMRFunCfg(Period_16_S);/* 定时1s的RTC闹钟 */ RTC_TRIGFunCfg(32768 * 10); PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_RTC_WAKE, Long_Delay);/* 使能RTC中断唤醒源 */ PFIC_EnableIRQ(RTC_IRQn);/* 使能RTC中断 */ /* 注意当主频为80M时,Sleep睡眠唤醒中断不可调用flash内代码 */ LowPower_Sleep(RB_PWR_RAM30K | RB_PWR_RAM2K); /* 只保留30+2K SRAM 供电 */ HSECFG_Current(HSE_RCur_100); /* 降为额定电流(低功耗函数中提升了HSE偏置电流) */ PFIC_DisableIRQ(RTC_IRQn); DelayMs(5); PRINT("wake.. \n"); DelayMs(20); tmos_set_event(halTaskID, HAL_REG_INIT_EVENT); PRINT("lkj\n");//先校准RF,再开广播 //********** tmos_start_task(App_TaskID, APP_NODE_TEST_EVT, 800); //发送时长1600=1s
热门产品 :
CH32V317: 互联型青稞RISC-V MCU