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()获取队列当前消息数量,也就是队列的使用量

  • 相关阅读:
    Rotation Kinematics
    离职 mark
    PnP 问题方程怎么列?
    DSO windowed optimization 代码 (4)
    Adjoint of SE(3)
    IMU 预积分推导
    DSO windowed optimization 代码 (3)
    DSO windowed optimization 代码 (2)
    OKVIS 代码框架
    DSO windowed optimization 代码 (1)
  • 原文地址:https://www.cnblogs.com/hhsxy/p/14018419.html
Copyright © 2011-2022 走看看