硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3311|回复: 6
收起左侧

[FreeRTOS] FreeRTOS使任务执行指定时间后停止运行

[复制链接]

3

主题

13

回帖

22

积分

新手上路

积分
22
发表于 2019-5-17 12:23:55 | 显示全部楼层 |阅读模式
本帖最后由 倔强顽童小焱 于 2019-5-17 12:25 编辑


怎么使任务精确执行指定的时间,比如200ms后停止运行,请问嵌友们这个如何具体实现,挺着急的,谢谢!
回复

使用道具 举报

20

主题

72

回帖

132

积分

初级会员

积分
132
发表于 2019-5-17 17:20:42 | 显示全部楼层
本帖最后由 502398542 于 2019-5-17 17:22 编辑

弄个定时器任务,你自己的任务开始运行时启动定时器任务,设定时间200ms,定时器回调函数中挂起你自己的任务并关闭定时器
回复

使用道具 举报

3

主题

13

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2019-5-17 20:03:35 | 显示全部楼层
502398542 发表于 2019-5-17 17:20
弄个定时器任务,你自己的任务开始运行时启动定时器任务,设定时间200ms,定时器回调函数中挂起你自己的任 ...

OK,我尝试去弄弄,现在暂时也不是太懂,谢谢!
回复

使用道具 举报

3

主题

13

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2019-5-17 20:47:15 | 显示全部楼层
502398542 发表于 2019-5-17 17:20
弄个定时器任务,你自己的任务开始运行时启动定时器任务,设定时间200ms,定时器回调函数中挂起你自己的任 ...

你好,我想在问问,就是任务要真正运行200ms ,不是定时器到了200ms 后就停止,期间可能有时间片切换,任务暂停,如果定时器200ms ,实际其实没有运行200ms,请问这个问题怎么解决啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-5-18 11:24:15 | 显示全部楼层
倔强顽童小焱 发表于 2019-5-17 20:47
你好,我想在问问,就是任务要真正运行200ms ,不是定时器到了200ms 后就停止,期间可能有时间片切换,任 ...

有相对延迟的,还行,任务抖动小一些。
回复

使用道具 举报

3

主题

13

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2019-5-18 16:18:58 | 显示全部楼层
eric2013 发表于 2019-5-18 11:24
有相对延迟的,还行,任务抖动小一些。

其实我的意思是让一个任务执行200ms ,就是取得cpu的时间为200ms ,不是系统总时间的200ms ,就是如果时间片为1ms,的话,需要切换进去执行200次。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-5-19 00:54:58 | 显示全部楼层
倔强顽童小焱 发表于 2019-5-18 16:18
其实我的意思是让一个任务执行200ms ,就是取得cpu的时间为200ms ,不是系统总时间的200ms ,就是如果时间 ...

不用管,无需补偿。重要的任务设置高优先级,尽量减小任务抖动即可
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 06:07 , Processed in 0.168271 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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