硬汉嵌入式论坛

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

[μCOS-II] uCOS-II独立看门狗监测多任务的执行状态

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2015-10-6 09:30:57 | 显示全部楼层 |阅读模式
例子下载(含IAR和MDK两个版本):
V4-817_uCOS-II实验_独立看门狗监测任务执行状态.rar (2.72 MB, 下载次数: 117)
当前最新版本:
1. uCOS-II版本V2.92.11
2. uC/CPU版本V1.30.02
3. uC/LIB版本V1.38.01
============================================================

/*
*********************************************************************************************************                                 
*    模块名称 : uCOS-II
*    文件名称 : app.c
*    版    本 : V1.0
*    说    明 : 本实验主要实现独立看门狗检测任务的执行状态
*              实验目的:
*                1. 学习如何在uCOS-II上实现独立看门狗监测任务执行状态。
*              实验内容:
*                1. 共创建了如下几个任务,通过按下按键K1可以通过串口打印任务堆栈使用情况
*                   优先级   使用栈  剩余栈  百分比   任务名
*                    Prio     Used    Free    Per      Taskname
*                     63       18      110    14%     uC/OS-II Idle
*                     62       22      106    17%     uC/OS-II Stat
*                      0       68      188    26%     Start Task
*                      2       75      181    29%     User Interface
*                     60       30      226    11%     LED
*                      3       30      226    11%     COM
*                      1       32      224    12%     KeyScan
*                    串口软件建议使用SecureCRT(V4光盘里面有此软件)查看打印信息。
*                    Start Task任务    :等待事件标志。
*                    User Interface任务:根据用户的按键消息,实现相应的操作。
*                    LED任务           :实现LED闪烁。
*                    KeyScan任务       :主要是实现按键扫描。
*                    COM任务           :实现LED闪烁。
*                2. 看门狗监测任务执行状态说明:
*                   (1). 设置看门狗复位时间是10s,如果10s内不喂狗系统复位。
*                   (2). 使用事件标志组,在最高优先级任务中等待其它所有用户任务发来的事
*                        件标志,如果所有任务都发来了事件标志,那么久执行喂狗程序,如果
*                        有一个任务10s内没有发来事件标志,那么系统会被复位。
*                   (3). 简单的说就是为了检测任务的执行转态,我们设置每个任务10s必须发一
*                        次事件标志以此来表示任务在执行。如果10s内有一个任务没有发来消息
*                        ,系统会被复位。
*                   (4). 等待事件标志的任务:
*                   OSFlagPend(FlagStat,
*                               0x0F,  
*                               OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME,
*                               0,
*                               &err);  
*                    其它四个发送事件标志的任务:
*                     OSFlagPost(FlagStat, 0x01, OS_FLAG_SET, &err);
*                     OSFlagPost(FlagStat, 0x02, OS_FLAG_SET, &err);
*                     OSFlagPost(FlagStat, 0x04, OS_FLAG_SET, &err);
*                     OSFlagPost(FlagStat, 0x08, OS_FLAG_SET, &err);
*                3. K2按键按下后将任务User Interface延迟20s后执行,从而实现看门狗复位。
*
*              注意事项:
*                 1. 本实验推荐使用串口软件SecureCRT,要不串口打印效果不整齐。此软件在
*                    V4开发板光盘里面有。
*                 2. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。
*
*    修改记录 :
*        版本号   日期         作者            说明
*       V1.0    2015-08-02   Eric2013    1. ST固件库到V3.6.1版本
*                                                          2. BSP驱动包V1.2
*                                                          3. uCOS-II版本V2.92.11
*                                                          4. uC/CPU版本V1.30.02
*                                                          5. uC/LIB版本V1.38.01
*                                       
*    Copyright (C), 2015-2020, 安富莱电子 www.armfly.com
*
*********************************************************************************************************
*/
回复

使用道具 举报

6

主题

390

回帖

408

积分

高级会员

积分
408
发表于 2015-10-8 11:43:00 | 显示全部楼层
[s:148]  [s:148]  [s:148]  [s:148]  [s:148]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 23:34 , Processed in 0.183983 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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