FreeRTOS学习笔记(十三) Tickless低功耗模式(如何使用)

本文介绍了如何在电子设备如STM32上利用Tickless模式实现低功耗,包括配置FreeRTOS使其支持Ticklessidle、自定义进入和退出低功耗模式的处理函数,以及关闭和开启GPIO时钟以优化功耗。
摘要由CSDN通过智能技术生成

一、简介:

        很多设备像电子穿戴设备,移动物联网设备都要求低功耗,为此,裸机开发也推出相应的低功耗模式,如STM32的睡眠,停止,待机等,FreeRTOS也推出了Tickless低功耗模式,在进行低功耗保护的同时,保护了线程。

        而Tickless实际上就是通过调用睡眠模式的WFI/WFE来实现降低功耗的作用,我们知道,在OS的运行过程中,当所有其他的任务都挂起或阻塞的时候,就会运行空闲任务,即IDLE Task,而Tickless实现的机理就是在空闲任务的时候进入睡眠模式,当其他任务准备运行的时候,唤醒MCU,从而实现降低功耗的目的。

        

二、Tickless模式相关配置项

三、使用Tickless模式的步骤

        1、将FreeRTOSConfig.h中的configUSE_TICKLESS_IDLE置位1

        2、在FreeRTOSConfig.h中添加以下代码:

其实就是用来给这两个宏定义两个函数,然后我们再去编写这两个函数,来实现进入低功耗模式所要进行的操作,和退出Tickless模式之前索要进行的操作。

        这边我这样写:

        3、然后再在主函数里面详细写这两个处理函数:

在这里,我的操作就是进入Tickless模式前关闭了GPIO的时钟,退出就开启这个时钟。

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值