首页 > 其他分享 >xTaskCreate()的使用

xTaskCreate()的使用

时间:2022-11-01 22:01:02浏览次数:57  
标签:创建 xHandle param 句柄 任务 使用 xTaskCreate

* xTaskCreate()只能用于创建不受限制的任务访问整个微控制器的内存映射。包括MPU在内的系统支持可以创建MPU约束任务使用

* xTaskCreateRestricted()。

* @param pvTaskCode任务入口函数的指针。任务必须实现为永不返回(即连续循环),或者应该是使用vTaskDelete函数终止。

* @param pcName任务的描述性名称。这主要是用来促进调试。由configMAX_TASK_NAME_LEN - default定义的最大长度是16。

的数量指定的任务栈的大小

*字节。注意,这不同于香草FreeRTOS。

* @param pvParameters将用作任务参数的指针创建。

* @param uxPriority任务应该运行的优先级。系统,包括MPU支持可选创建任务在特权(系统)模式设置位portPRIVILEGE_BIT的优先级参数。为

例如,使用uxPriority参数创建优先级为2的特权任务应该设置为(2 | portPRIVILEGE_BIT)。

* @param pxCreatedTask用于返回已创建任务的句柄

*可以被引用。

* @返回pdPASS如果任务已成功创建并添加到ready

*列表,否则是在文件projdefs.h中定义的错误代码

如果程序使用线程本地变量(用"__thread"关键字指定的变量)

*然后它们的存储将分配到任务的堆栈上。

*使用例子:

* @code {c}

* //待创建的任务。

* vvtaskcode (void * pvParameters)

* {

* for(;;)

* {

* //任务代码在这里。

*}

*}

* //创建任务的函数。

* void vOtherFunction(void)

* {

*静态uint8_t ucParameterToPass;

* TaskHandle_t xHandle = NULL;

* //创建任务,存储句柄。注意,传递的参数ucParameterToPass

* //必须在任务的生命周期内存在,因此在本例中被声明为static。如果它只是一个

* //一个自动堆栈变量,它可能不再存在,或至少已经损坏

* //新任务尝试访问它。

* xTaskCreate(vTaskCode, "NAME", STACK_SIZE, &ucParameterToPass, tskIDLE_PRIORITY, &xHandle);

* configASSERT(xHandle);

* //使用句柄删除任务。

* if(xHandle != NULL)

* {

* vTaskDelete(xHandle);

*}

*}

* @endcode

* @cond ! DOC_SINGLE_GROUP

* \defgroup xTaskCreate

* @endcond

* \小集团的任务

标签:创建,xHandle,param,句柄,任务,使用,xTaskCreate
From: https://www.cnblogs.com/onepiece-he/p/16849317.html

相关文章

  • vuex的使用
    目录一、Vuex的使用Vuex的介绍:vue的插件,增强了vue的功能Vuex的使用流程vuex的执行流程二、Vue-router的使用介绍基本使用步骤路由的跳转路由跳转携带参数路由嵌套步骤路由......
  • 使用德雷福斯模型
    我们通过的德雷福斯模型从新手到专家的升级之路.任何一个领域从新手到专家都需要十年时间.这个十年时间并不是一直不停的工作,而是不断的实践.这里的实践的含义是:1.定......
  • 今日内容 Vuex 和Vue-router的使用
    Vuex的使用作用vue的插件,增强了vue的功能  在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信......
  • HTML笔记 - HTML中表单标签的使用
    HTML中表单标签的使用目录HTML中表单标签的使用1.表单标签2.表单的提交3.表单的格式化1.表单标签form标签表示表单inputtype效果设置text文件输入框......
  • ScheduledExecutorService使用介绍
    JUC包(java.util.concurrent)中提供了对定时任务的支持,即ScheduledExecutorService接口。本文对ScheduledExecutorService的介绍,将基于Timer类使用介绍进行,因此请先阅读......
  • Spring-Task使用介绍
    目前springboot应用广泛,因此对于spring-task直接基于springboot框架介绍,不涉及xml配置。本文直接介绍spring-task的使用方法,涉及的相关基础知识不再赘述,请先阅读Timer和......
  • vuex的使用,vue-router的使用,路由守卫
    vuex的使用Vue-router的使用基本使用路由的跳转路由跳转携带参数路由嵌套路由守卫vuex的使用vuex是vue的一个插件,大大提升了vue的功能在Vu......
  • tqdm的介绍和使用
    Tqdm 是一个快速,可扩展的Python进度条,可以在Python长循环中添加一个进度提示信息,用户只需要封装任意的迭代器tqdm(iterator)。使用pip就可以安装。使用方法一:tqdmt......
  • Spring基础使用八
    Spring基础使用八基于注解的声明式事务Spring提供了@Transactional注解实现事务管理配置@Transactional配置Spring的xml<?xmlversion="1.0"encoding="UTF-8"?><b......
  • 关于Markdown语法的入门学习与使用
    Markdown介绍(百度扒的)Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(JohnGruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文......