系列文章
FreeRTOS实时操作系统(二)任务创建与任务删除(HAL库)
FreeRTOS实时操作系统(五)进入临界区、任务调度器挂起与恢复
FreeRTOS实时操作系统(七)时间片调度及RTOS的滴答定时器
FreeRTOS实时操作系统(八)任务状态查询及时间统计函数
FreeRTOS实时操作系统(十五)Tickless低功耗模式
低功耗模式
在之前的逻辑开发中学习过STM32的低功耗模式,在FreeRTOS中的低功耗模式,方便操作系统进入低功耗模式。
stm32中的低功耗模式:

Tickless低功耗模式
本质是调用指令WFI实现睡眠模式,在整个系统的运行过程中,其实大部分时间是在执行空闲任务的,所以在空闲的时候进入低功耗,在其他任务准备运行的时候再退出低功耗模式。
运行方式:
进入低功耗后,获取到下一个任务的进入时间,就设置低功耗的退出时间,为了防止滴答定时器的中断唤醒MCU,频繁中断影响效果,将滴答定时器的中断周期修改为低功耗的运行时间,退出低功耗模式后,再补上节拍数
由于必须定期退出然后重新进入低功耗状态以处理滴答中断, 这种简单方法所能实现的节能效果是有限的 。此外,如果滴答中断的频率太高,会使得没有效果。 所以FreeRTOS 在闲置期间(没有可执行的应用程序任务的期间) 停止周期性滴答中断, 然后,在滴答中断重启时,对 RTOS 滴答计数值 进行校正调整。 通过停止滴答中断,微控制器可以维持在深度节能状态, 直到中断发生,或者到了 RTOS 内核 将任务转换为“就绪”状态的时间。
宏定义配置
configUSE_TICKLESS_IDLE
此宏用于使能低功耗 Tickles
订阅专栏 解锁全文
3165

被折叠的 条评论
为什么被折叠?



