zoukankan      html  css  js  c++  java
  • FreeRTOS在学习——3rd——事件标志组和任务通知和消息队列

    事件标志组

    简单来说,就是,信号量只能作为某一件事的标志。
    消息队列一个全局Buff,用来任务与任务之间传输数据,它是直接复制的数据,并不是传回数据的指针

    二值信号量就是一个盒子,里面只能是0或1,

    计数型信号量也是1个盒子,不过里面的数可以是12345678910JQK等等,

    互斥信号量是一个盒子,里面有个钥匙,拿走了你还得还回来;

    递归互斥信号量一个盒子,好多钥匙,拿走几个盒子心里都有数,拿走几个都要给我还回来。

    事件标志组就是一排盒子,每一个盒子可以作为一个信号量的盒子。
    Enm………真TM形象,我都懂了
    EventBits_ t是个32位的数据类型。EventBits_ t类型的变量可以存储24个事件位,另外的那高8位有其他用。事件位0存放在这个变量的bit0.上,变量的bit1就是事件位1,以此类推。
    对于STM32来说一个事件标志组最多可以存储24个事件位
    在这里插入图片描述

    创建事件标志组API:
    在这里插入图片描述
    设置事件标志位API:
    在这里插入图片描述
    在这里插入图片描述
    获取事件标志组的值得API:
    在这里插入图片描述
    等待指定事件位API:
    在这里插入图片描述

    任务通知:

    发送任务通知API :
    在这里插入图片描述
    获取任务通知API:
    在这里插入图片描述

    消息队列:

    提供向消息队列发送消息的API函数有:
    在这里插入图片描述
    从队列中读取消息的API函数:
    在这里插入图片描述

    调用函数uxQueueSpacesAvailable()获取队列Message_ Queue的剩余大小。
    调用函数uxQueueMessages Waiting()获取队列当前消息数量,也就是队列的使用量

  • 相关阅读:
    IntelliJ IDEA自动补全变量名称和属性名称的快捷键
    Redis客户端 Spring Data Redis(未完)
    用画小狗的方法来解释Java中的值传递
    Java -- Arrays.asList()方法
    有趣的IntegerCache
    字符串使用点滴
    字符串拼接+和concat的区别
    在一个Excel单元格内输入多行内容
    JSTL1.2学习总结
    Android ico
  • 原文地址:https://www.cnblogs.com/hhsxy/p/14018419.html
Copyright © 2011-2022 走看看