⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucosii_util.h

📁 ucos内核源代码
💻 H
字号:
/*
 * COPYRIGHT (c) Notifier 1993-2004, All Rights Reserved
 *
 * 描述:    模块头文件
 *
 * 版本历史:
 *
 * 版本     作者        日期        修改内容
 * 1.0      王璀        2005-12-21  创建
 * 1.1      王璀        2006-01-18  将uC/OS II的hook函数安装部分移到本文件
 * 1.2      王璀        2006-01-19  将OsPrintf函数移到sys_log模块
 * 1.21     王璀        2006-02-14  添加了OsTaskInfo命令
 *                                  添加了UcosiiUtilInit()接口
 * 1.22     王璀        2006-02-21  添加了OS_TICKS_TO_MS和OS_MS_TO_TICKS
 * 1.23     王璀        2006-02-23  修改了OS_TICKS_TO_MS和OS_MS_TO_TICKS的严重错误
 *                                  添加了OsTaskGetHighestAvailablePrio()声明
*/

// 定义h文件名,防止多次包含(#include)而引起的重复定义错误
#ifndef _ucosii_util_h
#define _ucosii_util_h

//==============================================================================
// 包含的头文件
//==============================================================================
#include <ucos_ii.h>

#include "sys_types.h"

#include "ucosii_util_cfg.h"

//==============================================================================
// 接口宏及类型定义
//==============================================================================
#define OS_TICKS_TO_MS(ticks)   (((ticks)*1000)/OS_TICKS_PER_SEC)
#define OS_MS_TO_TICKS(ms)      ((((ms)*OS_TICKS_PER_SEC)/1000) == 0 ? 1 : ((ms)*OS_TICKS_PER_SEC)/1000)

/******************************对外提供的接口声明******************************/

//==============================================================================
// 模块变量声明
//==============================================================================
#if OS_VERSION > 203
extern void (*g_pOsInitHookBeginRoutine)(void);
#endif
#if OS_VERSION > 203
extern void (*g_pOsInitHookEndRoutine)(void);
#endif
extern void (*g_pOsTaskCreateHookRoutine)(OS_TCB *ptcb);
#if OS_TASK_DEL_EN > 0
extern void (*g_pOsTaskDelHookRoutine)(OS_TCB *ptcb);
#endif
#if OS_TASK_SW_HOOK_EN > 0
extern void (*g_pOsTaskSwHookRoutine)(void);
#endif
#if OS_TASK_STAT_EN > 0
extern void (*g_pOsTaskStatHookRoutine)(void);
#endif
#if OS_VERSION >= 204
extern void (*g_pOsTcbInitHookRoutine)(OS_TCB *ptcb);
#endif
#if OS_TIME_TICK_HOOK_EN > 0
extern void (*g_pOsTimeTickHookRoutine)(void);
#endif
#if OS_VERSION >= 251
extern void (*g_pOsTaskIdleHookRoutine)(void);
#endif

//==============================================================================
// 模块函数声明
//==============================================================================
#if OS_VERSION > 203
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSInitHookBeginInstall
    (
    void (*a_pfn)(void)//指向函数的指针
    );
#endif
#if OS_VERSION > 203
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSInitHookEndInstall
    (
    void (*a_pfn)(void)//指向函数的指针
    );
#endif
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSTaskCreateHookInstall
    (
    void (*a_pfn)(OS_TCB *ptcb)//指向函数的指针
    );
#if OS_TASK_DEL_EN > 0
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSTaskDelHookInstall
    (
    void (*a_pfn)(OS_TCB *ptcb)//指向函数的指针
    );
#endif
#if OS_TASK_SW_HOOK_EN > 0
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSTaskSwHookInstall
    (
    void (*a_pfn)(void)//指向函数的指针
    );
#endif
#if OS_TASK_STAT_EN > 0
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSTaskStatHookInstall
    (
    void (*a_pfn)(void)//指向函数的指针
    );
#endif
#if OS_VERSION >= 204
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSTCBInitHookInstall
    (
    void (*a_pfn)(OS_TCB *ptcb)//指向函数的指针
    );
#endif
#if OS_TIME_TICK_HOOK_EN > 0
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSTimeTickHookInstall
    (
    void (*a_pfn)(void)//指向函数的指针
    );
#endif
#if OS_VERSION >= 251
//------------------------------------------------------------------------------
// 函数描述:OS hook函数安装
void OSTaskIdleHookInstall
    (
    void (*a_pfn)(void)//指向函数的指针
    );
#endif

#if UCOSII_UTIL_OS_GET_TIME_IN_MS > 0
//------------------------------------------------------------------------------
// 函数描述:获取OS的当前时间,单位为毫秒。从OS节拍发生器启动时开始计时。
// 注意:实际的分辨率取决于系统节拍的周期。如节拍为5毫秒,则分辨率也为5毫秒。
INT32U//当前时间
OsTimeGetInMs(void);
#endif

#if UCOSII_UTIL_OS_GET_LOWEST_AVAILABLE_PRIO > 0
//------------------------------------------------------------------------------
// 函数描述:获取OS任务池中可用的最低优先级
INT32U//可用的最低优先级
      //-1 - 无可用优先级
OsTaskGetLowestAvailablePrio(void);
#endif

#if UCOSII_UTIL_OS_GET_HIGHEST_AVAILABLE_PRIO > 0
//------------------------------------------------------------------------------
// 函数描述:获取OS任务池中可用的最高优先级
INT32U//可用的最高优先级
      //-1 - 无可用优先级
OsTaskGetHighestAvailablePrio(void);
#endif

#if UCOSII_UTIL_INIT_EN > 0
//------------------------------------------------------------------------------
// 函数描述:初始化ucosii_util模块
STATUS//OK
      //ERROR
UcosiiUtilInit(void);
#endif

/******************************引用外部的接口声明******************************/

//==============================================================================
// 外部宏及变量声明
//==============================================================================

//==============================================================================
// 外部函数声明
//==============================================================================

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -