eric2013 发表于 2015-10-11 11:25:00

uCOS-III的看门狗多任务运行状态监测例子说明及其下载(基于STM32-V4)

例子下载(含IAR和MDK两个版本):

当前最新版本:
1. BSP驱动包V1.2
2. uCOS-III版本V3.05.00
3. uC/CPU版本V1.30.02
4. uC/LIB版本V1.38.01
============================================================

/*
*********************************************************************************************************
*                                    
*    模块名称 : uCOS-III
*    文件名称 : app.c
*    版    本 : V1.0
*    说    明 : 本实验主要实现uCOS-III的独立看门狗监测任务执行状态
*            实验目的:
*                1. 学习uCOS-III的独立看门狗监测任务执行状态
*            实验内容:
*                2. 按下按键K1可以通过串口打印任务执行情况
*                   优先级 使用栈 剩余栈 百分比 利用率   任务名
*                  Prio   UsedFree   Per    CPU   Taskname
*                     5   42    214   16%    0.42%   App Task UserIF
*                     4   42    214   16%    0.00%   App Task COM
*                     3   33    223   12%    0.00%   App Msp Pro
*                     2   80    176   31%    0.00%   App Task Start
*                  29   32   96   25%    0.03%   uC/OS-III Timer Task
*                  30   30   70   30%    0.32%   uC/OS-III Stat Task
*                     1   30   98   23%    2.56%   uC/OS-III Tick Task
*                  31   18    110   14%   96.64%   uC/OS-III Idle Task
*                  串口软件建议使用SecureCRT(V4光盘里面有此软件)查看打印信息。
*                  App Task Start任务 :等待所有任务发事件标志过来。
*                  App Msp Pro任务    :LED闪烁
*                  App Task COM任务   :LED闪烁
*                  App Task UserIF任务:按键检测和按键消息处理。
*                3. 看门狗监测任务执行状态说明:
*                   (1). 设置看门狗复位时间是10s,如果10s内不喂狗系统复位。
*                   (2). 使用事件标志组,在最高优先级任务中等待其它所有用户任务发来的事
*                        件标志,如果所有任务都发来了事件标志,那么久执行喂狗程序,如果
*                        有一个任务10s内没有发来事件标志,那么系统会被复位。
*                   (3). 简单的说就是为了检测任务的执行转态,我们设置每个任务10s必须发一
*                        次事件标志以此来表示任务在执行。如果10s内有一个任务没有发来消息
*                        ,系统会被复位。
*                   (4). 等待事件标志的任务:
*                      OSFlagPend ((OS_FLAG_GRP*)&FLAG_TaskRunStatus,
*                                 (OS_FLAGS      )0x07,
*                                 (OS_TICK       )0,
*                                 (OS_OPT      )OS_OPT_PEND_FLAG_SET_ALL + OS_OPT_PEND_FLAG_CONSUME,
*                                 (CPU_TS       *)0,
*                                 (OS_ERR       *)&err);
*                  其它三个发送事件标志的任务:
*                  OSFlagPost ((OS_FLAG_GRP*)&FLAG_TaskRunStatus,
*                              (OS_FLAGS      )0x01,   //设置bit0
*                              (OS_OPT      )OS_OPT_POST_FLAG_SET,
*                              (OS_ERR       *)&err);   
*                  OSFlagPost ((OS_FLAG_GRP*)&FLAG_TaskRunStatus,
*                              (OS_FLAGS      )0x02,   //设置bit1
*                              (OS_OPT      )OS_OPT_POST_FLAG_SET,
*                              (OS_ERR       *)&err);   
*                  OSFlagPost ((OS_FLAG_GRP*)&FLAG_TaskRunStatus,
*                              (OS_FLAGS      )0x04,//设置bit2
*                              (OS_OPT      )OS_OPT_POST_FLAG_SET,
*                              (OS_ERR       *)&err);   
*                3. K2按键按下后将任务App Task UserIF延迟20s后执行,从而实现看门狗复位。
*            注意事项:
*               1. 本实验推荐使用串口软件SecureCRT,要不串口打印效果不整齐。此软件在
*                  V4开发板光盘里面有。
*               2. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。
*
*    修改记录 :
*      版本号    日期         作者            说明
*       V1.0    2015-08-10   Eric2013    1. ST固件库到V3.6.1版本
*                                                         2. BSP驱动包V1.2
*                                                         3. uCOS-III版本V3.05.00
*                                                         4. uC/CPU版本V1.30.02
*                                                         5. uC/LIB版本V1.38.01
*                                       
*    Copyright (C), 2015-2020, 安富莱电子 www.armfly.com
*
*********************************************************************************************************
*/

ababzx 发表于 2017-7-3 16:35:43

TIF 发表于 2024-2-6 10:14:56

{:32:}{:8:}
页: [1]
查看完整版本: uCOS-III的看门狗多任务运行状态监测例子说明及其下载(基于STM32-V4)