社区
C语言
帖子详情
(OS_TCB *)0 是什么意思?
wjacky2000
2005-12-07 12:01:11
请问:
OSTCBHighRdy = (OS_TCB *)0
是什么意思? 其中OS_TCB是结构体,为任务控制块。
怎么能把一个整数强制为一个结构体类型的指针呢?这是UC/OSII中的。
谢谢
...全文
7876
8
打赏
收藏
(OS_TCB *)0 是什么意思?
请问: OSTCBHighRdy = (OS_TCB *)0 是什么意思? 其中OS_TCB是结构体,为任务控制块。 怎么能把一个整数强制为一个结构体类型的指针呢?这是UC/OSII中的。 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wjacky2000
2005-12-07
打赏
举报
回复
不好意思,有一分给错了
goodluckyxl
2005-12-07
打赏
举报
回复
初始化工作
RainWindy
2005-12-07
打赏
举报
回复
没写错,表明OSTCBHighRdy初始化为NULL(有定义#define NULL 0)加个强制类型转换是让别人看的更明白,指明OSTCBHighRdy变量的类型
csucdl
2005-12-07
打赏
举报
回复
可以直接写0,表示一个null pointer
但是变量的类型就不明显了
megaboy
2005-12-07
打赏
举报
回复
当然可以啊,地址与整数是可以互相转换的,其实地址值本质上就是一个无符号整数。上述语句是把整数0强制转换为地址0,这个地址0的类型是指向OS_TCB结构的地址。
foxdeng
2005-12-07
打赏
举报
回复
这小子在研究ucos呢!
wjacky2000
2005-12-07
打赏
举报
回复
是空的任务块,还是让指向0X00000000这个地址?然后在0X00000000这个地址里保存着指向OS_TCB结构的指针。那
if ((ptcb = OSTCBPrioTbl[prio]) != (OS_TCB *)0) {
if ((OSRdyTbl[ptcb->OSTCBY] &= ~ptcb->OSTCBBitX) == 0)
OSRdyGrp &= ~ptcb->OSTCBBitY; }
if ((pevent = ptcb->OSTCBEventPtr) != (OS_EVENT *)0) {
if ((pevent->OSEventTbl[ptcb->OSTCBY] &= ~ptcb->OSTCBBitX) == 0) {
pevent->OSEventGrp &= ~ptcb->OSTCBBitY; }
}
有(OS_TCB *)0和OS_EVENT *)0,是什么意思?岂不是在0地址放有两个地址?
rockefeller8
2005-12-07
打赏
举报
回复
OSTCBHighRdy必须指向优先级最高的那个任务控制快,此语句是强行指向空的任务快。
嵌入式操作系统实验报告
嵌入式操作系统实验报告是对大学课程嵌入式操作系统的课程中的实验总结报告。
uc
os
II移植思路分析
文档主要介绍uc
os
的移植思路,并且移植过程需要注意的问题等等内容。
模拟 UC
OS
III中的优先级及其每个优先级下一一对应的任务控制块链表实现
在codeblocks 中模拟 UC
OS
III中的优先级及其每个优先级下一一对应的任务控制块链表实现。
uC
OS
-II源码详解.pdf
uc
os
-ii的源码详解,帮助与从事uc
os
应用的开发人员提供所需的必要助力
OS
TaskDel ((
OS
_
TCB
*)0,&err);
在UC
OS
III中
OS
TaskDel ((
OS
_
TCB
*)0,&err);是删除自身任务的语句。在写程序时必须将你想执行的任务放在这个语句之前,他是一个立即执行的一个语句,并不是在这个任务中的全部语句执行完成再进行删除任务 void tast() { a=1;
OS
TaskDel ((
OS
_
TCB
*)0,&err); Calculate_finish=1;...
C语言
70,024
社区成员
243,260
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章