电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
freertos怎么把一个阻塞的任务设置成就绪状态
已解决
73482
个问题
已帮助
5993
位优秀工程师
freertos怎么把一个阻塞的任务设置成就绪状态
chenjunt
2020-04-25
浏览量:1563
freertos怎么把一个阻塞的任务设置成就绪状态
显示全部
嵌入式
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答
数量:
2
chen0000009
阻塞的任务一般是因为信号量或者锁等导致阻塞的,当它获得信号量或者锁之后就是就绪态了
发布于
2020-05-08
举报
评论 0
0
0
发布
☻
如果在一个任务运行结束时,所有任务都处于 就绪状态,那只有优先级最高的任务能运行。所以加入阻塞状态。
voidvTaskDelay( porttickType xTicksToDelay );
xTicksToDelay——延迟多少个心跳周期。调用该延迟函数的任务将进入阻塞态,经延迟指定的心跳周期数后,再转移到就绪态。举个例子,当某个任务调用vTaskDelay( 100 )时,心跳计数值为10000,则该任务将保持在阻塞态,直到心跳计数计到10100。常数portTICK_RATE_MS 可以用来将以毫秒为单位的时间值转换为以心跳周期为单位的时间值。
voidvTaskDelayUntil( portTickType * pxPreviousWakeTime portTickType xTimeIncrement);
设定周期运行绝对时间,用来让任务周期运行的更精确,比使用 vTaskDelay 延迟精确
发布于
2020-05-29
举报
评论 0
0
0
发布
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
freertos怎么把一个阻塞的任务设置成就绪状态
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: