登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

求助一个UC/OS-II源代码的问题

作者:si2003 栏目:嵌入式系统
求助一个UC/OS-II源代码的问题
不知大家能否知道UC/OS-II中的这段代码的意思:在os_task.c中。
OS_ENTER_CRITICAL();
    if (OSTCBPrioTbl[prio] == (OS_TCB *)0) { /* Make sure task doesn't already exist at this priority  */
        OSTCBPrioTbl[prio] = (OS_TCB *)1;    /* Reserve the priority to prevent others from doing ...  */
                                             /* ... the same thing until task is created.              */
        OS_EXIT_CRITICAL();

我搞不懂0和1 在此的意思。谢谢!

2楼: >>参与讨论
漠然cool
我是这么理解的
应该是在判断这个task有没有执行。(OS_TCB *)是在做强制类型转换。
我是这么理解的。不知道对不对,我也是刚刚开始看这个东西!

3楼: >>参与讨论
nkguodalu
优先级
在建立一个任务时先判断赋给这个任务的优先级有没有被占用,
OSTCBPrioTbl[prio]为非空指针,说明已经存在这个优先级的任务了。
空指针的话才可以建立。

4楼: >>参与讨论
luofl
nkguodalu说的是正确的
nkguodalu说的是正确的,uc/os-II不支持一个优先级具有多个任务.用0和1来确保一个任务只有一个不同的优先级.

5楼: >>参与讨论
tjjkzhy
确实如此,我刚刚平移完uc,也得到楼上的结论。
确实如此,我刚刚平移完uc,也得到楼上的结论。

6楼: >>参与讨论
漠然cool
lijiele
 
7楼: >>参与讨论
Sureal
re
长见识了,谢谢

参与讨论
昵称:
讨论内容:
 
 
相关帖子
高手帮我看看 关于函数怎么声明
atmel9200芯片要接LCD模块,请大家给些方案
中断执行后,为何没有返回到主程序中?
哪位大虾用过DAC0832请指点一下
关于嵌入式系统选型的问题请教!
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号