硬汉嵌入式论坛

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

[FreeRTOS] 基于V4开发板(STM32F1)的FreeRTOS的低功耗tickless模式例子下载及其说明

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2015-11-3 00:23:32 | 显示全部楼层 |阅读模式
例子含MDK和IAR两个版本:
V4-334_FreeRTOS实验_低功耗(Tickless Idle模式).rar (3.79 MB, 下载次数: 109)

1. ST固件库到V3.6.1版本
2. BSP驱动包V1.2
3. FreeRTOS版本V8.2.2
=================================================

/*
*********************************************************************************************************
*
*    模块名称 : 主程序模块。
*    文件名称 : main.c
*    版    本 : V1.0
*    说    明 : 本实验主要学习FreeRTOS的低功耗(Tickless Idle模式)
*              实验目的:
*                1. 学习FreeRTOS的低功耗(Tickless Idle模式)
*                2. FreeRTOS自带的tickless idle模式使用比较简单,只需用户使能
*                   宏配置:
*                   #define configUSE_TICKLESS_IDLE         1
*                3. 为了打印系统信息,试验中始化一个定时器中断,精度高于滴答定时器中断,
*                   每50us进一次,实际使用Tickless Idle模式务必不要再使用这个功能,这个
*                   功能仅用于系统信息打印。
*              实验内容:
*                2. 按下按键K1可以通过串口打印任务执行情况
*                   任务名      任务状态 优先级   剩余栈 任务序号
*                   vTaskUserIF     R       1       332     1
*                   IDLE            R       0       120     5
*                   vTaskMsgPro     B       3       458     3
*                   vTaskLED        B       2       458     2
*                   vTaskStart      B       4       490     4
*
*                   任务名       运行计数         使用率
*                   vTaskUserIF     5363            2%
*                   IDLE            254937          97%
*                   vTaskMsgPro     865             <1%
*                   vTaskLED        1234            <1%
*                   vTaskStart      2               <1%
*                   串口软件建议使用SecureCRT(V4光盘里面有此软件)查看打印信息。
*                    vTaskTaskUserIF 任务:按键消息处理
*                    vTaskLED 任务       :使用函数xQueueReceive接收任务vTaskTaskUserIF发送的消息队列数据(xQueue2)
*                    vTaskMsgPro 任务    :使用函数xQueueReceive接收任务vTaskTaskUserIF发送的消息队列数据(xQueue1)
*                    vTaskStart 任务     :按键扫描
*                 3. 任务运行转态的定义如下,跟上面串口打印字母B, R, D, S对应:
*                    #define tskBLOCKED_CHAR        ( 'B' )
*                    #define tskREADY_CHAR            ( 'R' )
*                    #define tskDELETED_CHAR        ( 'D' )
*                    #define tskSUSPENDED_CHAR        ( 'S' )
*                 4. K2键按下,向xQueue1发送数据。
*                 5. K3键按下,向xQueue2发送数据。
*                 6. 关于低功耗的说明:
*                   (1) STM32F10xxx有三种低功耗模式
*                        a. 睡眠模式(Cortex-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时
*                           钟(SysTick)等仍在运行)
*                        b. 停止模式(所有的时钟都已停止)
*                        c. 待机模式(1.8V电源关闭)
*                   (2) 通过指令__WFI进入休眠模式,可以通过任意中断唤醒。
*                   (3) 降低系统主频或者关闭外设时钟也可有效降低系统功耗。
*                 7. FreeRTOS自带的tickless idle模式是调用的指令__WFI进入休眠模式。
*                 8. 实际项目中推荐采用官方的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
*
*********************************************************************************************************
*/
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 19:03 , Processed in 0.312599 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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