OpenEdv-开源电子网

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

UCOS III 怎样让一个没有运行完成的任务重新开始

[复制链接]

6

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
305
金钱
305
注册时间
2014-3-24
在线时间
39 小时
发表于 2014-12-8 21:04:43 | 显示全部楼层 |阅读模式
5金钱
        是这样的,正在做的一个机器,中间会有对机械极限的处理,假如电机行程超过了极限则必须马上停止,关电机那个定时器中断,找机械原点。那么运行电机各个动作的那个任务会被挂起,找完圆点后任务就会恢复,但是这时候的动作已经不是想要的了,想要找完机械原点后电机各个动作重新开始,不在继续运行超过机械极限以后的那些电机动作了。那么问题就来了,怎么让包含电机动作的任务重新开始呢。

最佳答案

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

首先UCOSIII的API函数中没有这种一个任务运行到一半的时候停止然后在重新开始运行。不过可以这样做,一旦发现超出行程极限,就直接删除掉运行电机各个动作的那个任务。等找到圆点以后在重新建立一个任务来运行新的动作。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-12-8 21:04:44 | 显示全部楼层
首先UCOSIII的API函数中没有这种一个任务运行到一半的时候停止然后在重新开始运行。不过可以这样做,一旦发现超出行程极限,就直接删除掉运行电机各个动作的那个任务。等找到圆点以后在重新建立一个任务来运行新的动作。
开往春天的手扶拖拉机
回复

使用道具 举报

6

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
305
金钱
305
注册时间
2014-3-24
在线时间
39 小时
 楼主| 发表于 2014-12-9 08:13:51 | 显示全部楼层
很感谢你的及时回复,祝你好运哦
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-12-22 09:24:43 | 显示全部楼层
有用。。。。
小小蜗牛
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-12-22 09:27:17 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
赞一个。。。
小小蜗牛
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-12-22 10:19:48 | 显示全部楼层
回复【5楼】jiutianshenjian:
---------------------------------
西安的老乡啊,我是渭南的,话说头像好有喜感,哈哈~ ~
开往春天的手扶拖拉机
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-12-22 11:19:13 | 显示全部楼层
回复【6楼】zuozhongkai:
---------------------------------
我也是渭南的
小小蜗牛
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-12-22 11:21:45 | 显示全部楼层
回复【6楼】zuozhongkai:
---------------------------------
要说喜感,你的两只狗才是啊
小小蜗牛
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2013-7-29
在线时间
0 小时
发表于 2015-1-4 16:12:26 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
你真帅!
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
发表于 2016-6-7 12:10:43 | 显示全部楼层
我也遇到了这问题,楼主是这样方法解决的么,
敢想敢为,敢做敢当。
回复

使用道具 举报

6

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
305
金钱
305
注册时间
2014-3-24
在线时间
39 小时
 楼主| 发表于 2016-6-8 14:01:19 | 显示全部楼层
onebank 发表于 2016-6-7 12:10
我也遇到了这问题,楼主是这样方法解决的么,

二楼已经回答了,删除该任务并且重新创建以便就好。
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
发表于 2016-6-13 16:42:52 | 显示全部楼层
第九度 发表于 2016-6-8 14:01
二楼已经回答了,删除该任务并且重新创建以便就好。

就是感觉如果反复这样删除创建的话会不会生成很多内存碎片,导致内存浪费啊
敢想敢为,敢做敢当。
回复

使用道具 举报

6

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
305
金钱
305
注册时间
2014-3-24
在线时间
39 小时
 楼主| 发表于 2016-6-13 21:02:36 | 显示全部楼层
onebank 发表于 2016-6-13 16:42
就是感觉如果反复这样删除创建的话会不会生成很多内存碎片,导致内存浪费啊

理论上是的,所以也能过度这样操作
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-6-17
在线时间
23 小时
发表于 2016-7-13 09:25:45 | 显示全部楼层
第九度 发表于 2016-6-13 21:02
理论上是的,所以也能过度这样操作

刚刚初学,但是我看任哲那本书说删除任务交给被删除任去操作,自己删除自己可以尽量避免,不知道是不是
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 20:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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