硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4555|回复: 1
收起左侧

[FreeRTOS] FreeRTOS低功耗:待机模式例子下载及其说明

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106664
QQ
发表于 2015-11-13 10:54:21 | 显示全部楼层 |阅读模式
例子含MDK和IAR两个版本:
V4-336_FreeRTOS实验_低功耗(待机模式).rar (3.76 MB, 下载次数: 200)

1. ST固件库到V3.6.1版本
2. BSP驱动包V1.2
3. FreeRTOS版本V8.2.2
4. STM32F103开发板,即STM32-V4。
================================

/*
*********************************************************************************************************
*
*    模块名称 : 主程序模块。
*    文件名称 : main.c
*    版    本 : V1.0
*    说    明 : 本实验主要学习FreeRTOS的低功耗(待机模式)
*              实验目的:
*                1. 学习FreeRTOS的低功耗(待机模式)
*              实验内容:
*                3. 按下按键K1可以通过串口打印任务执行情况
*                   任务名      任务状态 优先级   剩余栈 任务序号
*                   vTaskUserIF     R       1       334     1
*                   IDLE            R       0       116     5
*                   vTaskLED        B       2       484     2
*                   vTaskMsgPro     B       3       480     3
*                   vTaskStart      B       4       490     4
*
*                   任务名       运行计数         使用率
*                   vTaskUserIF     1216            1%
*                   IDLE            65372           98%
*                   vTaskLED        0               <1%
*                   vTaskMsgPro     12              <1%
*                   vTaskStart      2               <1%
*                   串口软件建议使用SecureCRT(V4光盘里面有此软件)查看打印信息。
*                    vTaskTaskUserIF 任务:按键消息处理
*                    vTaskLED 任务       :LED闪烁
*                    vTaskMsgPro 任务    :使用函数xSemaphoreTake接收任务vTaskTaskUserIF发送的同步信号
*                    vTaskStart 任务     :按键扫描
*                 4. 任务运行转态的定义如下,跟上面串口打印字母B, R, D, S对应:
*                    #define tskBLOCKED_CHAR        ( 'B' )
*                    #define tskREADY_CHAR            ( 'R' )
*                    #define tskDELETED_CHAR        ( 'D' )
*                    #define tskSUSPENDED_CHAR        ( 'S' )
*                 5. 关于低功耗的说明:
*                    (1) 待机模式可实现系统的最低功耗。该模式是在Cortex-M3深睡眠模式时关闭电压调节器。整个
*                        1.8V供电区域被断电。PLL、HSI和HSE振荡器也被断电。SRAM和寄存器内容丢失。只有备份
*                        的寄存器和待机电路维持供电。
*                    (2) 从待机模式唤醒后的代码执行等同于复位后的执行。
*                 6. K2按键将系统从待机模式唤醒,如果系统没有进入待机模式,K2键按下,直接发送同步信号给任务vTaskMsgPro。
*                    K3按键用于让系统进入待机模式。
*                 7. 实际项目中推荐采用官方的tickless模式。
*              设计低功耗主要从以下几方面着手:
*                 1. 用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
*                    可以使用的低功耗方式有休眠模式,待机模式,停机模式。
*                 2. 选择了低功耗方式后就是关闭可以关闭的外设时钟。
*                 3. 降低系统主频。
*                 4. 注意I/O的状态。
*                    如果此IO口带上拉,请设置为高电平输出或者高阻态输入;
*                    如果此IO口带下拉,请设置为低电平输出或者高阻态输入;
*                    a. 在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态。
*                    b. 在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。
*                    c. 在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚:
*                      ● 复位引脚(始终有效)
*                      ● 当被设置为防侵入或校准输出时的TAMPER引脚
*                      ● 被使能的唤醒引脚
*                 5. 注意IO和外设IC的连接。
*                 6. 测低功耗的时候,一定不要连接调试器,更不能边调试边测电流。
*              注意事项:
*                 1. 本实验推荐使用串口软件SecureCRT,要不串口打印效果不整齐。此软件在
*                    V4开发板光盘里面有。
*                 2. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。
*
*    修改记录 :
*        版本号    日期         作者            说明
*       V1.0    2015-08-19   Eric2013    1. ST固件库到V3.6.1版本
*                                                         2. BSP驱动包V1.2
*                                                         3. FreeRTOS版本V8.2.2
*
*    Copyright (C), 2015-2020, 安富莱电子 www.armfly.com
*
*********************************************************************************************************
*/
回复

使用道具 举报

100

主题

275

回帖

575

积分

金牌会员

积分
575
发表于 2016-2-25 13:53:01 | 显示全部楼层
没看明白
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 08:06 , Processed in 0.198230 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表