OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4168|回复: 5

关于UCOSIII任务的挂起与解挂

[复制链接]

14

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2189
金钱
2189
注册时间
2017-2-20
在线时间
222 小时
发表于 2017-7-2 17:31:03 | 显示全部楼层 |阅读模式
1金钱
        用了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任务挂起与接挂的原理吗?谢谢

最佳答案

查看完整内容[请看2#楼]

看任务挂起函数和任务解挂函数的源码!挂起的时候任务控制块的成员变量SuspendCtr用来记录任务挂起次数!每挂起一次此变量就加一,解除挂起的时候此变量就会减一。只有最后一次解除挂起任务才会起作用的。也就是你所谓的试验结果,连续两次调用函数OSTaskSuspend()挂起一个任务,那么就需要调用两次解除函数OSTaskResume()才能最终恢复任务的运行!!!!
电子之路漫漫兮,吾将任总而道远。http://www.openedv.com/static/image/smiley/default/lol.gif
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-7-2 17:31:04 | 显示全部楼层
看任务挂起函数和任务解挂函数的源码!挂起的时候任务控制块的成员变量SuspendCtr用来记录任务挂起次数!每挂起一次此变量就加一,解除挂起的时候此变量就会减一。只有最后一次解除挂起任务才会起作用的。也就是你所谓的试验结果,连续两次调用函数OSTaskSuspend()挂起一个任务,那么就需要调用两次解除函数OSTaskResume()才能最终恢复任务的运行!!!!
开往春天的手扶拖拉机
回复

使用道具 举报

14

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2189
金钱
2189
注册时间
2017-2-20
在线时间
222 小时
 楼主| 发表于 2017-7-2 17:35:53 | 显示全部楼层
测试直接使用的正点原子的例程,因为当时不小心调用了两次挂起函数,只用了一次解挂函数,导致任务没用运行,与是试试调用两次解挂函数,发现程序正常。
回复

使用道具 举报

14

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2189
金钱
2189
注册时间
2017-2-20
在线时间
222 小时
 楼主| 发表于 2017-7-2 18:08:53 | 显示全部楼层
zuozhongkai 发表于 2017-7-2 17:31
看任务挂起函数和任务解挂函数的源码!挂起的时候任务控制块的成员变量SuspendCtr用来记录任务挂起次数!每 ...

谢谢UCSIII源码充斥各种宏定义,看的头都大了
电子之路漫漫兮,吾将任总而道远。http://www.openedv.com/static/image/smiley/default/lol.gif
回复

使用道具 举报

14

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2189
金钱
2189
注册时间
2017-2-20
在线时间
222 小时
 楼主| 发表于 2017-7-2 18:12:20 | 显示全部楼层
zuozhongkai 发表于 2017-7-2 17:31
看任务挂起函数和任务解挂函数的源码!挂起的时候任务控制块的成员变量SuspendCtr用来记录任务挂起次数!每 ...

还用一个问题,我看定义一个(void *)0;是什么意思?
电子之路漫漫兮,吾将任总而道远。http://www.openedv.com/static/image/smiley/default/lol.gif
回复

使用道具 举报

14

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2189
金钱
2189
注册时间
2017-2-20
在线时间
222 小时
 楼主| 发表于 2017-7-2 18:16:40 | 显示全部楼层
QQ截图20170702181606.png
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-2 02:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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