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

  • 相关阅读:
    【[SDOI2016]排列计数】
    newcoder NOIP提高组模拟赛C题——保护
    【[JLOI2014]松鼠的新家】
    【[USACO08NOV]奶牛混合起来Mixed Up Cows】
    【[USACO13NOV]没有找零No Change】
    【[SHOI2009]会场预约】
    【[USACO12FEB]附近的牛Nearby Cows】
    UVA11987 【Almost Union-Find】
    基于递归的BFS(Level-order)
    遍历二叉树
  • 原文地址:https://www.cnblogs.com/hhsxy/p/14018419.html
Copyright © 2011-2022 走看看