完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用了OSTaskSuspend((OS_TCB*)&Task2_TaskTCB,&err);函数吧任务二挂起,用OSTaskResume((OS_TCB*)&Task2_TaskTCB,&err);函数把任务二解挂,正常,
但是如果连续调用OSTaskSuspend((OS_TCB*)&Task2_TaskTCB,&err)函数两次,必须使用两次OSTaskResume((OS_TCB*)&Task2_TaskTCB,&err);解挂。为什么,UCOSIII的程序源码没太看懂,可简要说一下UCOSIII任务挂起与接挂的原理吗?谢谢 |
|
相关推荐
5个回答
|
|
看任务挂起函数和任务解挂函数的源码!挂起的时候任务控制块的成员变量SuspendCtr用来记录任务挂起次数!每挂起一次此变量就加一,解除挂起的时候此变量就会减一。只有最后一次解除挂起任务才会起作用的。也就是你所谓的试验结果,连续两次调用函数OSTaskSuspend()挂起一个任务,那么就需要调用两次解除函数OSTaskResume()才能最终恢复任务的运行!!!!
|
|
|
|
测试直接使用的发烧友的例程,因为当时不小心调用了两次挂起函数,只用了一次解挂函数,导致任务没用运行,与是试试调用两次解挂函数,发现程序正常。
|
|
|
|
谢谢UCSIII源码充斥各种宏定义,看的头都大了
|
|
|
|
还用一个问题,我看定义一个(void *)0;是什么意思?
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
505 浏览 0 评论
1032 浏览 1 评论
2415 浏览 5 评论
2735 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2554 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
589浏览 9评论
588浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
699浏览 6评论
567浏览 5评论
607浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 20:59 , Processed in 0.719620 second(s), Total 84, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号