|
例子下载(含IAR和MDK两个版本):
V4-617_uCOS-III实验_独立看门狗监测任务执行状态.rar
(2.77 MB, 下载次数: 307)
当前最新版本:
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 Used Free 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
*
*********************************************************************************************************
*/ |
|