|
例子含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
*
*********************************************************************************************************
*/ |
|