📄 ucosii_util.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 + -