硬汉嵌入式论坛

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

[μCOS-III] 相对于uCOS-II,使用uCOS-III中的钩子函数注意事项

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2015-8-15 16:54:07 | 显示全部楼层 |阅读模式
使用uCOS-II的钩子函数时,一般都是直接使能:
#define OS_APP_HOOKS_EN           1u
就可以在钩子函数中写代码了。
===================================================
但是对于uCOS-III函数,除了使能:
#define OS_CFG_APP_HOOKS_EN             DEF_ENABLED
以外,还要初始化函数App_OS_SetAllHooks();
这样在钩子函数中写的代码才可以被系统所调用。另外就是这个函数要放在函数OSInit()后面。
因为这个函数会做一次钩子函数路径清除操作:

#if (OS_CFG_APP_HOOKS_EN == DEF_ENABLED)                    
#if (OS_CFG_TASK_STK_REDZONE_EN == DEF_ENABLED)
    OS_AppRedzoneHitHookPtr = DEF_NULL;
#endif
    OS_AppTaskCreateHookPtr = DEF_NULL;
    OS_AppTaskDelHookPtr    = DEF_NULL;
    OS_AppTaskReturnHookPtr = DEF_NULL;

    OS_AppIdleTaskHookPtr   = DEF_NULL;
    OS_AppStatTaskHookPtr   = DEF_NULL;
    OS_AppTaskSwHookPtr     = DEF_NULL;
    OS_AppTimeTickHookPtr   = DEF_NULL;
#endif
回复

使用道具 举报

2

主题

18

回帖

24

积分

新手上路

积分
24
发表于 2016-4-2 11:12:53 | 显示全部楼层
[s:151]
回复

使用道具 举报

73

主题

1200

回帖

1419

积分

至尊会员

积分
1419
发表于 2020-4-29 16:30:41 | 显示全部楼层
这个曾经用过,在hook函数中,每次调用切换dma来采集adc
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 05:03 , Processed in 0.155291 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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