推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实验73_停止模式下使用RTC唤醒_Tickless增强.docx

更新时间:2026-09-13 12:04:45 大小:38K 上传用户:烟雨查看TA发布的资源 标签:FreeRTOSRTCTicklessSTOP模式低功耗 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

实验 73:停止模式下使用 RTC 唤醒 — Tickless 增强

实验说明

实验概述

Tickless 模式允许系统在空闲时进入低功耗模式,但默认的 Tickless 实现只能睡眠到下一个任务唤醒时间。如果希望系统进入更深的睡眠模式(如 STOP 模式),并在一段较长时间后唤醒,需要配合 RTC 等外设实现。本实验演示如何在 Tickless 模式下使用 RTC 定时唤醒。

实验原理

当系统进入 Tickless 空闲模式时,FreeRTOS 计算下次任务唤醒时间,如果时间足够长,可以配置 RTC 定时器在指定时间后产生中断唤醒 MCU。configPRE_SLEEP_PROCESSING() 和 configPOST_SLEEP_PROCESSING() 宏用于在进入和退出低功耗模式时执行必要的配置。

实验现象

系统在空闲时进入 STOP 模式,RTC 定时 10 秒后唤醒,任务执行一次操作后再次进入睡眠。

完整代码

  c
#include "FreeRTOS.h"
#include "task.h"
#include "stm32f7xx_hal.h"
#include <stdio.h>

/* 需在 FreeRTOSConfig.h 中配置:
 *   #define configUSE_TICKLESS_IDLE 1
 *   #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
 *
 * 并实现 configPRE_SLEEP_PROCESSING 和 configPOST_SLEEP_PROCESSING
 */

extern RTC_HandleTypeDef hrtc;

/* 唤醒任务 */


部分文件列表

文件名 大小
实验73_停止模式下使用RTC唤醒_Tickless增强.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载