当前位置:首页 > 数码 >

句柄到底是啥(句柄是一个地址吗)

来源:原点资讯(m.360kss.com)时间:2024-06-23 17:03:47作者:YD166手机阅读>>

果果小师弟.

电子信息工程硕士在读,分享单片机、嵌入式linux、物联网等知识,致力于打造最硬核的嵌入式技术公众号。

摘要:学过用过FreeRTOS的人都知道,在创建任务时候我们都要定义一个任务句柄,这个任务句柄有啥含义?书上的解释是任务创建成功以后会返回此任务的任务句柄,这个句柄就是任务的堆栈。此参数就用来保存这个任务句柄。其他API函数可能会使用到这个句柄。

那么任务句柄是到底是怎么一回事,它保存的是任务控制块的首地址。那么它又是如何来保存任务的首地址呢?这就是我们今天要讨论的话题。我尽量写得通俗易懂,让大家都能轻松理解

1、创建一个任务

动态创建一个任务

#define TASK1_TASK_PRIO 1 //任务优先级 #define TASK1_STK_SIZE 128 //任务栈大小 TaskHandle_t Task1Task_Handler; //任务句柄 //动态创建一个任务1 xTaskCreate((TaskFunction_t )task1_task, //任务函数 (const char* )"task1_task", //任务名称 (uint16_t )TASK1_STK_SIZE, //任务堆栈大小 (void* )NULL, //传递给任务函数的参数 (UBaseType_t )TASK1_TASK_PRIO, //任务优先级 (TaskHandle_t* )&Task1Task_Handler); //任务句柄 //task1任务函数 void task1_task(void *pvParameters) { for(;;) { vTaskDelay( 2000 ); } }

参数:

  • pxTaskCode:任务函数。
  • pcName:任务名字,一般用于追踪和调试,任务名字长度不能超过。configMAX_TASK_NAME_LEN,在FreeRTOSConfig.h文件中宏定义为16。
  • usStackDepth:任务堆栈大小,实际申请到的堆栈是usStackDepth的4倍。其中空闲任务的任务堆栈大小为configMINIMAL_STACK_SIZE,在FreeRTOSConfig.h文件中宏定义为130(字)。
  • pvParameters:传递给任务函数的参数。
  • uxPriority:任务优先级,范围0—configMAX_PRIORITIES-1,在FreeRTOSConfig.h文件中configMAX_PRIORITIES宏定义为32。
  • pxCreatedTask:任务句柄,任务创建成功以后会返回此任务的任务句柄,这个句柄其实就是任务的任务堆栈。此参数就用来保存这个任务句柄。其他API函数可能会使用到这个句柄。

返回值:

  • pdPASS:任务创建成功。pdPASS宏定义为1
  • errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY:任务创建失败,因为堆内存不足!

在创建一个任务时一般都会在程序开头都有这三个宏定义

句柄到底是啥,句柄是一个地址吗(1)

要指定任务的优先级、任务的栈大小,以及任务的句柄。

优先级很好理解,它决定了多个任务之间执行任务的先后顺序,任务的栈大小也很理解,在创建任务时,任务的局部变量以及任务切换时的数据都保存在栈里面。那么任务句柄是怎么一回事,它保存的是任务控制块的首地址。那么它又是如何来保存任务的首地址呢?这就是我们今天要讨论的话题

创建任务是时传入的是一个指针?

是一个指针吗?

不是,是一个指针的指针。

为什么要传入指针的指针?

什么是指针的指针?

这些问题都需要搞明白你才能解决这个问题?

二、二级指针

正好前两天在公众号看到了这样一篇文章,里面有一道C语言的题可以引用来解释我们今天的问题,我们一起来看一下

句柄到底是啥,句柄是一个地址吗(2)

上面这个代码有好几处错误,它的目的很简单,就是想把字符串hello world拷贝给str,但是它能拷贝成功吗?

句柄到底是啥,句柄是一个地址吗(3)

很显然是不可以的。

句柄到底是啥,句柄是一个地址吗(4)

首页 123下一页

栏目热文

句柄名称由来(句柄是什么意思通俗易懂)

句柄名称由来(句柄是什么意思通俗易懂)

匈牙利命名法由来 该命名规范,要求前缀字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,单词第一个字母大写。Exi...

2024-06-23 17:36:20查看全文 >>

句柄是用来干嘛的(什么是句柄图片)

句柄是用来干嘛的(什么是句柄图片)

这篇接着聊句柄,也只是初步的介绍与理解,句柄深究起来其实很深奥~~。在上篇我们提到过句柄的概念:输入或输出数据流的位置被...

2024-06-23 17:06:50查看全文 >>

什么叫窗口的句柄(关闭句柄是关闭了程序吗)

什么叫窗口的句柄(关闭句柄是关闭了程序吗)

昨天小编只是在微头条随手发了一条关于句柄的内容,没想到居然很多人感兴趣,由于微头条的结构限制并不能很好的将句柄讲清楚,今...

2024-06-23 17:29:31查看全文 >>

句柄是指针吗(句柄是什么意思通俗易懂)

句柄是指针吗(句柄是什么意思通俗易懂)

小编工作的单位性质偏向于服务制造。大家都知道,中国的高端装备基本都依赖进口,而其自带CAM软件一般都是全封闭的,不开放A...

2024-06-23 17:23:12查看全文 >>

怎么判断句柄有用(怎么知道句柄的位置)

怎么判断句柄有用(怎么知道句柄的位置)

自定义的句柄封装类要创建自定义的句柄封装类以提供更高级的句柄管理功能,可以继承SafeHandle类并重写一些方法。下面...

2024-06-23 16:50:31查看全文 >>

什么叫做关联的句柄(句柄是一个什么类型的值)

什么叫做关联的句柄(句柄是一个什么类型的值)

摘要所谓控件就是人们常说的能输入文本的位置、能选择的位置、能单击的位置、图片显示的位置等。其中:能输入文本的位置对应于 ...

2024-06-23 17:07:50查看全文 >>

现在学什么专业好找工作(现在什么专业出来好找工作)

现在学什么专业好找工作(现在什么专业出来好找工作)

嘿,小伙伴们,你们有没有想过,学什么专业毕业后能找到好工作呢?这个问题困扰着很多正在高考或者即将高考的同学们。今天,我就...

2024-06-23 17:31:40查看全文 >>

成人现在学什么专业好(成人本科适合去学什么专业)

成人现在学什么专业好(成人本科适合去学什么专业)

成人高考专升本纠结专业?下面是十大热门专业优势分析可供同学们参考!01临床医学专业医学类的专业,专业性比较强,需要学习的...

2024-06-23 17:11:00查看全文 >>

漂亮书生主演合照(漂亮书生剧照高清全屏)

漂亮书生主演合照(漂亮书生剧照高清全屏)

说起古装剧虽然有很多的观众在吐槽,但是只要一有古装播出,大家还是管住不自己会去看。最近也是上线了很多好看的古装剧,有郑业...

2024-06-23 17:28:19查看全文 >>

漂亮书生演员表及人物介绍(漂亮书生演员表及人物介绍表)

漂亮书生演员表及人物介绍(漂亮书生演员表及人物介绍表)

由北京爱奇艺科技有限公司出品,北京华语大业文化传媒有限公司联合出品,鞠婧祎、宋威龙、毕雯珺、王瑞昌领衔主演,陈奕龙、朱圣...

2024-06-23 17:15:58查看全文 >>

文档排行