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

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. IE 下js里面new Date("2017-07-11 08:00:00") 出现NAN的问题以及解决方法

    在js里面用了这个方法   var  $date= new Date("2017-07-11 08:00:00") 可是打印的时候为 NAN.查了下  只有IE下有这个问题,然后我 ...

  2. 用xcode9编译出ios越狱机程序使用的dylib

    因为xcode9默认不能创建dylib工程,所以 选择 静态库 工程后,修改编译选项使得变成dylib工程. 步骤: 一.xcode9 -> File -> New -> Proje ...

  3. Linux常用指令笔记

    目标:统计当前目录下java文件的个数 指令:`ls -R ./ | grep .java$ | wc -l` 原理:`ls -R ./`列出当前文件夹下的所有FILE,包括目录以及文件;`grep ...

  4. xorm中的几个坑

    项目中使用的是xorm,虽然用了很顺手了,可是还是会遇到一些坑,这里纪录一些. 结构体自动忽略空字段 在xorm中,结构体会自动忽略空字段(或则说默认值,比如int 的0 ,string的" ...

  5. JavaScript鼠标拖动div且可调整div大小

    http://www.softwhy.com/article-5502-1.html <!DOCTYPE html> <html> <head> <meta ...

  6. C语言socket编程

    建议先去看一下思路 真的写的很不错呦~ 思路参考博客:https://www.cnblogs.com/renfanzi/p/5713054.html linux c语言socket编程代码(单一服务端 ...

  7. 消息中间件系列三:使用RabbitMq原生Java客户端进行消息通信(消费者(接收方)自动确认模式、消费者(接收方)自行确认模式、生产者(发送方)确认模式)

    准备工作: 1)安装RabbitMQ,参考文章:消息中间件系列二:RabbitMQ入门(基本概念.RabbitMQ的安装和运行) 2.)分别新建名为OriginalRabbitMQProducer和O ...

  8. AT&T汇编指令

    GAS中每个操作都是有一个字符的后缀,表明操作数的大小. C声明 GAS后缀 大小(字节) char b 1 short w 2 (unsigned) int / long / char* l 4 f ...

  9. OpenGL矩阵变换,坐标空间变换

  10. LeetCode - 703. Kth Largest Element in a Stream

    Design a class to find the kth largest element in a stream. Note that it is the kth largest element ...