简介
硬件:HC32L196+蓝牙模块;MCU外部32.768KHZ,按键。
功能简述:平时是需要超低功耗,定时时间到了或按键触发了,就唤醒单片机进行数据的发送处理。
软件:FreeRTOS。
疑问:如何在FreeRTOS条件下MCU进入超低功耗?
目前使用的策略:在低功耗管理任务内处理。
优点:简单。
缺点:挂起了所有任务,只能由中断触发,任务无法触发;没有使用Tickless;
参考源:
1、先挂起其它所有任务。如:
vTaskSuspend(KeyScan_Task_Handle);
2、关闭FreeRTOS使用的滴答定时器。
SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; /* 关闭滴答定时器 */
3、进入低功耗前反初始化的部分外设。
LP_AllPeripheral_DeInit