FreeRTOS实时操作系统(十五)Tickless低功耗模式及运行时间显示

系列文章

FreeRTOS实时操作系统(一)RTOS的基本概念

FreeRTOS实时操作系统(二)任务创建与任务删除(HAL库)

FreeRTOS实时操作系统(三)任务挂起与恢复

FreeRTOS实时操作系统(四)中断任务管理

FreeRTOS实时操作系统(五)进入临界区、任务调度器挂起与恢复

FreeRTOS实时操作系统(六)列表与列表项

FreeRTOS实时操作系统(七)时间片调度及RTOS的滴答定时器

FreeRTOS实时操作系统(八)任务状态查询及时间统计函数

FreeRTOS实时操作系统(九)时间延时函数及消息队列

FreeRTOS实时操作系统(十)信号量

FreeRTOS实时操作系统(十一)队列集

FreeRTOS实时操作系统(十二)事件标志组

FreeRTOS实时操作系统(十三)任务通知

FreeRTOS实时操作系统(十四)软件定时器

FreeRTOS实时操作系统(十五)Tickless低功耗模式

FreeRTOS实时操作系统(十六)内存管理



低功耗模式

在之前的逻辑开发中学习过STM32的低功耗模式,在FreeRTOS中的低功耗模式,方便操作系统进入低功耗模式。

stm32中的低功耗模式:
在这里插入图片描述

Tickless低功耗模式

本质是调用指令WFI实现睡眠模式,在整个系统的运行过程中,其实大部分时间是在执行空闲任务的,所以在空闲的时候进入低功耗,在其他任务准备运行的时候再退出低功耗模式。

运行方式:
进入低功耗后,获取到下一个任务的进入时间,就设置低功耗的退出时间,为了防止滴答定时器的中断唤醒MCU,频繁中断影响效果,将滴答定时器的中断周期修改为低功耗的运行时间,退出低功耗模式后,再补上节拍数

由于必须定期退出然后重新进入低功耗状态以处理滴答中断, 这种简单方法所能实现的节能效果是有限的 。此外,如果滴答中断的频率太高,会使得没有效果。 所以FreeRTOS 在闲置期间(没有可执行的应用程序任务的期间) 停止周期性滴答中断, 然后,在滴答中断重启时,对 RTOS 滴答计数值 进行校正调整。 通过停止滴答中断,微控制器可以维持在深度节能状态, 直到中断发生,或者到了 RTOS 内核 将任务转换为“就绪”状态的时间。

宏定义配置

configUSE_TICKLESS_IDLE
此宏用于使能低功耗 Tickles

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值