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

  • 相关阅读:
    java---随机点名
    java实现窗体JFrame加载动态图片
    微信小程序--登陆页面
    java基础--随机数 猜数字游戏
    jQuery表单验证
    js获取Id,标签,类的几种选择器封装
    轮播图
    关于mysql安全
    PHP5.4开启zend opcache缓存
    ccs3中icon转换为字体的方法
  • 原文地址:https://www.cnblogs.com/hhsxy/p/14018419.html
Copyright © 2011-2022 走看看