事件标志组,顾名思义,就是若干个事件标志的组合,代表若干个事件是否发生,通常
用于集合两个或两个以上事件的状态 。

1.如果想要使用事件标志组,就必须事先使能事件标志组。消息队列的使能位于“os_cfg.h”。

2.OSFlagCreate ()

要使用 uC/OS 的事件标志组必须先声明和创建事件标志组,调用 OSFlagCreate () 函数
可以创建一个事件标志组。OSFlagCreate () 函数的定义位于“os_flag.c”。

OSFlagCreate () 函数的定义位于“os_flag.c”。
3.OSFlagPost ()
OSFlagPost () 函数用于发布一个事件标志组。 OSFlagPost () 函数的定义也位于“os_flag.c 。
其实,不管是否使能了中断延迟发布,最终都是调用 OS_FlagPost() 函数进行发布事件
标志组。
4.OSFlagPend ()
与 OSFlagPost () 事件标志组发布函数相对应, OSFlagPend () 函数用于等待事件标志组。
OSFlagPend () 函数的定义也位于“os_flag.c”。

5.OSFlagPendAbort ()

OSFlagPendAbort() 函 数 用 于 中 止 任 务 对 一 个 事 件 标 志 组 的 等 待 。 要 使 用
OSFlagPendAbort () 函数,还得事先使能 OS_CFG_FLAG_PEND_ABORT_EN(位于“os_cfg.h”)。

6.OSFlagDel ()

OSFlagDel() 函数用于删除一个消息队列。要使用 OSFlagDel () 函数,还得事先使能
OS_CFG_FLAG_DEL_EN(位于“os_cfg.h”)。 OSFlagDel () 函数的定义位于“os_flag.c”。

16.3-uC/OS-III同步 (事件标志组实验)的更多相关文章

  1. 16.2-uC/OS-III同步 (事件标志组)

    事件标志组 1.当任务要与多个事件同步时可以使用事件标志.若其中的任意一个事件发生时任务被就绪, 叫做逻辑或(OR).若所有的事件都发生时任务被就绪,叫做逻辑与( AND). 2.用户可以创建任意个事 ...

  2. FreeRTOS 事件标志组 ——提高篇

    假设你已经看过FreeRTOS 事件标志组这篇随笔了. 之前的基础篇,真的就只是简单了解一下,相当于大学实验室的实验,但是,我们实际公司项目中,需要更多地思考,就算我们之前只是学习了基础概念以及基础语 ...

  3. FreeRTOS_事件标志组

    FreeRTOS事件标志组 事件标志组简介 1. 事件位(事件标志) 事件位用于表明某个事件是否发生,事件位通常用作事件标志,比如下面的几个例子: 当收到一条消息并且把这条消息处理掉以后就可以将某个位 ...

  4. uc/os iii移植到STM32F4---IAR开发环境

    也许是先入为主的原因,时钟用不惯Keil环境,大多数的教程都是拿keil写的,尝试将官方的uc/os iii 移植到IAR环境. 1.首先尝试从官网上下载的官方移植的代码,编译通过,但是执行会报堆栈溢 ...

  5. RTX——第13章 事件标志组

    以下内容转载自安富莱电子: http://forum.armfly.com/forum.php 前面的章节我们已经讲解了任务管理和时间管理,从本章节开始讲解任务间的通信和同步机制.首先讲解任务间的通信 ...

  6. FreeRTOS 事件标志组

    以下转载自安富莱电子: http://forum.armfly.com/forum.php 为什么要使用事件标志事件标志组是实现多任务同步的有效机制之一.也许有不理解的初学者会问采用事件标志组多麻烦, ...

  7. UCOSIII事件标志组

    两种同步机制 "或"同步 "与"同步 使能 #define OS_CFG_FLAG_EN 1u /* Enable (1) or Disable (0) cod ...

  8. FreeRTOS 任务计数信号量,任务二值信号量,任务事件标志组,任务消息邮箱

    以下基础内容转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 计数信号量的另一种实现方式----基于任务通知(Task Not ...

  9. FreeRTOS 任务通知模拟事件标志组

    实验 //设置事件位的任务 void eventsetbit_task(void *pvParameters) { u8 key; while(1) { if(EventGroupTask_Handl ...

随机推荐

  1. Fedora 25-64位操作系统中安装配置Hyperledger Fabric过程

    安装过程参照Hyperledger Fabric的官方文档,文档地址:http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html 0 ...

  2. 详解Docker的网络模式

    我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: host模式:使用--net=host指定container模式:使用- ...

  3. RDLC 根据条件改变背景颜色-多个IIF

    =IIf(Fields!DATE_DIFF.Value < 5 ,"White",IIf(Fields!DATE_DIFF.Value >=5 AND Fields!D ...

  4. 如何用jQuery获取选中行固定列的数据

    [本文出自天外归云的博客园] 问题:把选中行的ID统计出来,组成一个数组传给后台(选中行的特点:class为danger) 办法如下: // 多选后点击下线按钮 $("#offline&qu ...

  5. ant 通配符

    ant 通配符 我们常用的匹配模式有ANT模式,比如acegi可以用PATTERN_TYPE_APACHE_ANT来使用ANT匹配模式,那什么是ANT匹配模式呢.   ANT通配符有三种:     通 ...

  6. List分组

    IEnumerable<IGrouping<string, SysMap>> query = sysMapList.GroupBy(pet => pet.Mobile);

  7. 通用Mapper新特性:ExampleBuilder 2017年12月18日

    package tk.mybatis.mapper.test.example; import org.apache.ibatis.session.SqlSession; import org.juni ...

  8. 安装Inotify-tools

    Inotify-tools 可以帮助Liunx快速实现文件同步. 1. 安装Inotify-tools mkdir /soft chmod /soft cd /soft wget http://git ...

  9. webpack模块化原理

    https://segmentfault.com/a/1190000010349749     webpack模块化原理-commonjs https://segmentfault.com/a/119 ...

  10. Android8 自定义广播接收不到的问题

    最近在用安卓广播的时候,按照流程进行操作,可是不管怎样都没有出现我接受的广播,网上查阅资料以后,发现在Android8中,如果是静态注册广播,需要在action中保留原来的静态广播,加入Compone ...