0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeRTOS创建事件标志组

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-06 17:23 次阅读

创建事件标志组

图片

3、设置事件位

图片

图片

4、获取事件标志组值

图片

5、等待指定的事件位

某个任务可能需要与多个事件进行同步,那么这个任务就需要等待并判断多个事件位(标 志),使用函数 xEventGroupWaitBits()可以完成这个功能。调用函数以后如果任务要等待的事件位还没有准备好(置 1 或清零)的话任务就会进入阻塞态,直到阻塞时间到达或者所等待的事件位准备好。函数原型如下:

EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
  const EventBits_t uxBitsToWaitFor,
  const BaseType_t xClearOnExit,
  const BaseType_t xWaitForAllBits,
  const TickType_t xTicksToWait );

具体的用法大家用到的时候可以百度,这里就不详解了,只是大家在设计功能的时候,知道有这个东西。

noteFreeRTOS 中几乎所有的 API 都分为在任务中还是在中断处理函数中,要注意区分。同时一些 API 还分为使用动态内存分配还是静态内存分配,一般是选择动态,因为使用方便、简单。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5046

    文章

    18845

    浏览量

    299533
  • 数据
    +关注

    关注

    8

    文章

    6725

    浏览量

    88426
  • FreeRTOS
    +关注

    关注

    12

    文章

    483

    浏览量

    61780
收藏 人收藏

    评论

    相关推荐

    FreeRTOS介绍与基础任务创建

    本篇介绍FreeRTOS与基础任务创建
    的头像 发表于 09-26 09:00 2226次阅读
    <b class='flag-5'>FreeRTOS</b>介绍与基础任务<b class='flag-5'>创建</b>

    使用STM32CubeMX生成的FreeRTOS系统中,似乎没有新封装的事件标志,怎么解决?

    使用STM32CubeMX生成的FreeRTOS系统中,似乎没有新封装的事件标志,如果按照原生的FreeRTOS使用事件标志
    发表于 03-22 08:34

    使用FreeRTOS系统事件标志有些收不到是怎么回事?

    教下,使用FreeRTOS的的件标志, 任务貌似有些标志位收不到,是怎么回事啊 ? 比如事件标志
    发表于 04-26 06:53

    转:freeRTOS事件学习

    像其他RTOS一样,freeRTOS同样有对事件标志位的创建和处理,在中断中可以通过事件传递信息给其他的任务,那么如何创建事件
    发表于 08-12 18:29

    转:第18章 FreeRTOS事件标志

    第18章FreeRTOS事件标志 前面的章节我们已经讲解了任务管理和时间管理,从本章节开始讲解任务间的通信和同步机制。首先讲解任务间的通信和同步机制之一,事件标志
    发表于 09-02 12:40

    转:第26章 FreeRTOS任务事件标志

    本章节为大家讲解FreeRTOS事件标志的另一种实现方式----基于任务通知(Task Notifications)的事件标志,这里我们
    发表于 09-08 06:48

    【NUCLEO-F412ZG试用体验】FreeRTOS_事件标志实现任务和中断的同步

    使用事件标志可以实现任务和任务之间以及任务和中断之间的通信或者同步。首先说明,本例程参考了《安富莱_STM32-V5开发板_FreeRTOS教程(V1.0)》,是在上上期报告的基础上,把按键中断由
    发表于 12-28 21:19

    freertos中断置位事件标志输出Error的解决办法?

    新人求教,在原子里的程序加了置位标志,串口输出Error:..\FreeRTOS\portable\RVDS\ARM_CM3\port.c,680,但是不影响程序的运行,这个是什么原因
    发表于 06-18 09:00

    怎样去设置FreeRTOS事件标志的事件位呢

    事件标志是什么意思呢?怎样去设置FreeRTOS事件标志的事件位呢?
    发表于 02-28 06:44

    FreeRTOS任务如何创建和删除?

    FreeRTOS移植到Cortex-M3硬件平台的文章中,我们已经见过任务创建API,但那篇文章的重点在于如何移植FreeRTOS,本文将重点放在任务的创建和删除API函数上面。 任
    的头像 发表于 03-11 18:08 2820次阅读

    FreeRTOS高级篇2---FreeRTOS任务创建分析

    FreeRTOS基础系列《FreeRTOS系列第10篇---FreeRTOS任务创建和删除》中介绍了任务创建API函数xTaskCreat
    发表于 01-26 17:42 23次下载
    <b class='flag-5'>FreeRTOS</b>高级篇2---<b class='flag-5'>FreeRTOS</b>任务<b class='flag-5'>创建</b>分析

    freeRTOS用于任务之间同步的手段事件标志

    freeRTOS中还有一种可以用于任务之间同步的手段 — 事件标志
    的头像 发表于 02-10 11:10 1432次阅读

    FreeRTOS的事件标志

    之前介绍了使用信号量来完成同步,但是使用信号量来同步的话,任务只能与单个的事件或任务进行同步。有时候某个任务可能会需要与多个事件或任务进行同步,此时信号量就无能为力了。FreeRTOS 提供了一个可选的解决方法,那就是事件标志
    的头像 发表于 02-10 15:58 1037次阅读

    RA FreeRTOS任务创建

    ,开发环境e 2 studio完美支持FreeRTOS,无需额外手动移植。以下介绍如何用瑞萨e 2 studio创建RA系列MCU的FreeRTOS工程。 对于不熟悉瑞萨的FSP开发环境的工程师们,此文
    的头像 发表于 03-10 14:35 1183次阅读

    FreeRTOS事件标志介绍

    1、事件位(事件标志) 事件位用来表明某个事件是否发生,事件位通常用作事件标志,比如下面的几个例子: ● 当收到一条消息并且把这条消息处理掉以后就可以将某个位(标志)置 1,当队列中没有消息需要处理
    的头像 发表于 07-06 17:22 523次阅读