FreeRTOS事件组之事件组的创建(xEventGroupCreate())
来源:互联网 发布:上海美猴网络骗局 编辑:程序博客网 时间:2024/06/01 07:29
1.使用事件组的前提:
(1)与互斥量、队列集等其他内核资源不同,想要使用事件组(xEventGroup)重点不在宏定义上是否配置为1,重点在组织程序以及程序编译的时候是否包括event_groups.c源代码以及event_groups.h头文件。
(2)另外需要将宏configSUPPORT_DYNAMIC_ALLOCATION设置为1,否则不能应用事件组创建函数(xEventGroupCreate());
事件组的结构体不是用队列实现的(互斥量,信号量,队列的结构体都是用队列来实现的),其有自己的结构体叫EventGroup_t。以代码为例来分析xEventGroupCreate()函数内部对内存数据的改变。2.函数说明(xEventGroupCreate()):
函数原型:EventGroupHandle_t xEventGroupCreate( void );
函数参数:void
返回值 :如果成功建立事件组,则会返回事件组的句柄(指针),如果内存堆没有足够的内存则会返回NULL(创建失败)。
3.执行过程分析:
执行完xCreatedEventedGroup=xEventGroupCreate();之后内存的状况为如下:(另外需要说明的是,事件组的建立对任务控制块的成员组成没有影响(与之对比,互斥量的使用就需要改变任务控制块的成员组成))。EventGroupHandle_t xCreatedEventGroup;xCreatedEventedGroup=xEventGroupCreate();
0 0
- FreeRTOS事件组之事件组的创建(xEventGroupCreate())
- FreeRTOS事件组之事件组等待位(xEventGroupWaitBits)
- FreeRTOS事件组之事件组置位(xEventGroupSetBits)
- FreeRTOS之事件标志组及实现FreeRTOS看门狗
- FreeRTOS学习7--事件标志组
- 【STM32系统级开发】ucosIII 或 freeRTOS 事件标志组详解
- 监听事件的创建
- C#事件的创建。
- Flex4之创建自定义事件
- 创建事件(event)
- (六)创建自己的路由事件
- FREERTOS之任务创建删除
- FreeRTOS之任务创建删除
- cocos2d之按钮UI的创建和事件响应
- XZ_JavaScript之JavaScript中常见的事件(DOM事件)
- 事件的创建和使用
- WPF 创建全局的事件
- 创建点击事件的方法
- nginx.conf配置
- dijkstra的算法模板
- Java学习路线-基础篇
- 剑指offer--面试题53 在排序数组中查找数字(二分)
- 反转链表
- FreeRTOS事件组之事件组的创建(xEventGroupCreate())
- nginx的upstream目前支持的5种方式的分配
- 数据库连接_留着以后copy
- nginx命令
- SQLServer2008数据库分离与附加
- MongoDB 3.4 分片与副本集实践笔记
- java问题:不要在nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()、nextDouble()、next()之后使用nextLine()
- git学习:关于origin和master
- 关于react native 循环动画无法使用InteractionManager的解决办法