当前位置: 首页 > wzjs >正文

衡阳北京网站建设sem全称

衡阳北京网站建设,sem全称,营销型企业网站建设体会,建设培训考试服务网站任务管理 1、任务状态2、常用函数2.1 任务挂起函数vTaskSuspend()2.2 任务恢复函数vTaskResume()和xTaskResumeFromISR()2.3 任务删除函数 vTaskDelete()2.4 任务延时函数vTaskDelay()和vTaskDelayUntil() 3、总结 1、任务状态 就绪态:该任务在就绪列表中&#xff…

任务管理

  • 1、任务状态
  • 2、常用函数
    • 2.1 任务挂起函数vTaskSuspend()
    • 2.2 任务恢复函数vTaskResume()和xTaskResumeFromISR()
    • 2.3 任务删除函数 vTaskDelete()
    • 2.4 任务延时函数vTaskDelay()和vTaskDelayUntil()
  • 3、总结

1、任务状态

就绪态:该任务在就绪列表中,就绪的任务已经具备执行的能力,只等待调度器进行调度,新创建的任务会初始化为就绪态。

运行态:该状态表明任务正在执行,此时它占用处理器,FreeRTOS调度器选择运行的永远是处于最高优先级的就绪态任务,当任务被运行的一刻,它的任务状态就变成了运行态。

阻塞态:如果任务当前正在等待某个时序或外部中断,我们就说这个任务处于阻塞状态,该任务不在就绪列表中。包含任务被延时、任务正在等待信号量、读写队列或者等待读写事件等。

挂起态:处于挂起态的任务对调度器而言是不可见的,让一个任务进入挂起状态的唯一办法就是调用 vTaskSuspend()函数;而 把 一 个 挂 起 状态 的 任 务 恢复的 唯 一 途 径 就 是 调 用 vTaskResume() 或vTaskResumeFromISR()函数。

在这里插入图片描述

2、常用函数

2.1 任务挂起函数vTaskSuspend()

任务可以通过调用 vTaskSuspend()函数都可以将处于任何状态的任务挂起,被挂起的 任务得不到 CPU 的使用权,也不会参与调度,它相对于调度器而言是不可见的,除非它从 挂起态中解除。
void vTaskSuspend( TaskHandle_t xTaskToSuspend )
xTaskToSuspend 为任务句柄,传入 NULL 表示挂起当前任务

2.2 任务恢复函数vTaskResume()和xTaskResumeFromISR()

任务恢复就是让挂起的任务重新进入就绪状态,恢复的任务会保留挂起前的状态信息,在恢复的时候根据挂 起时的状态继续运行。如果被恢复任务在所有就绪态任务中,处于最高优先级列表的第一 位,那么系统将进行任务上下文的切换。xTaskResumeFromISR()与 vTaskResume()一样都是用于恢复被挂起的任务,不一样的是 xTaskResumeFromISR() 专 门 用 在 中 断 服 务 程 序 中 。无 论 通 过 调 用 一 次 或 多 次vTaskSuspend()函数而被挂起的任务,也只需调用一次xTaskResumeFromISR()函数即可解挂。
void vTaskResume( TaskHandle_t xTaskToResume)	/* 在任务中恢复 */BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume )		/* 在中断中恢复 */

2.3 任务删除函数 vTaskDelete()

vTaskDelete()用于删除一个任务。当一个任务删除另外一个任务时,形参为要删除任 务创建时返回的任务句柄,如果是删除自身, 则形参为 NULL。
void vTaskDelete( TaskHandle_t xTaskToDelete )

2.4 任务延时函数vTaskDelay()和vTaskDelayUntil()

vTaskDelay()延时是相对性的延时,它指定的延时时间是从调用 vTaskDelay()结束后开 始计算的,经过指定的时间后延时结束。绝对延时函数 vTaskDelayUntil(),这个绝 对延时常用于较精确的周期运行任务,比如我有一个任务,希望它以固定频率定期执行, 而不受外部的影响,任务从上一次运行开始到下一次运行开始的时间间隔是绝对的,而不 是相对的。
void vTaskDelay( const TickType_t xTicksToDelay )	/*相对延时*/void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement )		/*绝对延时*/

pxPreviousWakeTime:上一次唤醒任务的时间点
xTimeIncrement :任务周期时间

3、总结

以上就是FreeRTOS任务管理的一些基础知识了,浏览过程中,如若发现错误,欢迎大家指正,有问题的欢迎评论区留言或者私信。最后,如果大家觉得有所帮助,可以点一下赞,谢谢大家!祝大家天天开心,顺遂无虞!
http://www.dtcms.com/wzjs/261868.html

相关文章:

  • wordpress织梦主题山西seo推广
  • 代做道具网站跨境电商平台有哪些
  • 网站建设合同制人员招聘新泰网站设计
  • 现在公司做各网站要多少钱网站做外链平台有哪些
  • 个人网站主页怎么做百度搜索关键词排名靠前
  • wordpress去掉category手机端关键词排名优化软件
  • 上海网站开发制作公司如何自己开发一个网站
  • 珠海门户网站建设多少钱种子搜索
  • 哪个网站做攻略比较好管理人员课程培训
  • 深圳营销型网站建设服务价格seo人工智能
  • 深圳网站设计兴田德润简介googleplaystore
  • 攀枝花网站建设公司百度竞价推广怎么样才有效果
  • 广告网站留电话不用验证码网络营销到底是干嘛的
  • 软件营销网站网络推广理实一体化软件
  • 江西中联建设集团有限公司网站附近电脑培训班零基础
  • 佛山做外贸网站重庆百度推广排名
  • 可否用nas做网站购买友情链接
  • 做网站哪个比较好网络营销的认知
  • 如何运行asp.net网站百度网盘搜索
  • 建设淘宝网站长春网站优化团队
  • 建设装修网站每日一则新闻摘抄
  • 海尔建设网站的目的百度推广点击软件
  • 做电影网站程序哪个好培训学校资质办理条件
  • 阿里巴巴做网站的海外网站cdn加速
  • html电影网站模板下载广东广州疫情最新情况
  • 百度移动端网站快速seo关键词优化技巧
  • 自助建站哪个好提交网站收录入口
  • 个人网站设计开题报告线下营销推广方式都有哪些
  • 设计个企业网站网页咋弄全国最新疫情最新消息
  • 济南集团网站建设价格安全又舒适的避孕方法有哪些