模板下载: 
V7-FreeRTOS程序模板(含MDK和IAR).rar (4.30MB) 
 
1、MDK使用MDK5.26及其以上版本。 
2、IAR使用IAR8.30及其以上版本。 
3、教程直可以先看之前发布的,除了新增的一些功能,其它功能基本没区别: 
http://www.armbbs.cn/forum.php?mod=viewthread&tid=17658 
 
/* 
********************************************************************************************************* 
* 
*        模块名称 : 主程序模块。 
*        文件名称 : main.c 
*        版    本 : V1.0 
*        说    明 : 本实验主要学习FreeRTOS的串口调试方法(打印任务执行情况) 
*              实验目的: 
*                1. 学习FreeRTOS的串口调试方法(打印任务执行情况)。 
*                2. 为了获取FreeRTOS任务的执行情况,需要执行如下三个操作 
*                                        a. 在FreeRTOSConfig.h文件中使能如下宏 
*                            #define configUSE_TRACE_FACILITY                        1 
*                                #define configGENERATE_RUN_TIME_STATS               1 
*                                #define configUSE_STATS_FORMATTING_FUNCTIONS        1 
*                                #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()    (ulHighFrequencyTimerTicks = 0ul) 
*                                #define portGET_RUN_TIME_COUNTER_VALUE()            ulHighFrequencyTimerTicks 
*                                        b. 创建一个定时器,这个定时器的时间基准精度要高于系统时钟节拍,这样得到的任务信息才准确。 
*                   c. 调用函数vTaskList和vTaskGetRunTimeStats即可获取任务任务的执行情况。 
*              实验内容: 
*                1. 按下按键K1可以通过串口打印任务执行情况(波特率115200,数据位8,奇偶校验位无,停止位1) 
*                   ================================================= 
*                   任务名      任务状态 优先级   剩余栈 任务序号 
*                   vTaskUserIF     R       1       318     1 
*                        IDLE            R       0       118     5 
*                        vTaskLED        B       2       490     2 
*                        vTaskMsgPro     B       3       490     3 
*                       vTaskStart      B       4       490     4 
* 
*                        任务名       运行计数         使用率 
*                        vTaskUserIF     467             <1% 
*                        IDLE            126495          99% 
*                        vTaskMsgPro     1               <1% 
*                        vTaskStart      639             <1% 
*                        vTaskLED        0               <1% 
*                  串口软件建议使用SecureCRT(V7光盘里面有此软件)查看打印信息。 
*                  各个任务实现的功能如下: 
*                   vTaskTaskUserIF 任务: 接口消息处理         
*                   vTaskLED        任务: LED闪烁 
*                   vTaskMsgPro     任务: 消息处理,这里是用作LED闪烁 
*                   vTaskStart      任务: 启动任务,也就是最高优先级任务,这里实现按键扫描 
*                2. 任务运行状态的定义如下,跟上面串口打印字母B, R, D, S对应: 
*                    #define tskBLOCKED_CHAR                ( 'B' )  阻塞 
*                    #define tskREADY_CHAR                    ( 'R' )  就绪 
*                    #define tskDELETED_CHAR                ( 'D' )  删除 
*                    #define tskSUSPENDED_CHAR            ( 'S' )  挂起 
*                    #define tskRUNNING_CHAR                ( 'X' )  运行 
*              注意事项: 
*                 1. 本实验推荐使用串口软件SecureCRT,要不串口打印效果不整齐。此软件在 
*                    V7开发板光盘里面有。 
*                 2. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。 
* 
*        修改记录 : 
*                版本号    日期         作者            说明 
*       V1.0    2019-05-02   Eric2013    1. ST固件库到V1.3.0版本 
*                                        2. BSP驱动包V1.2 
*                                        3. FreeRTOS版本V10.2.0 
* 
*        Copyright (C), 2019-2030, 安富莱电子 www.armfly.com 
* 
********************************************************************************************************* 
*/ |   
     
  
 |