【4】uC/OS-III应用开发————>消息队列(STM32F767)

  1. 简述:
    1. 队列又称消息队列,是一种常用于任务间通信,队列可以在任务与任务间、中断和任务间传递信息;
    2. 实现了任务接收来自其它任务或者中断的不固定长度的消息
    3. 当队列中消息为空时,读取消息的任务将被阻塞,可指定阻塞的时间timeout
    4. 当队列中有消息时,被阻塞的任务会被唤醒并处理新消息
    5. 等待时间超过指定的阻塞时间,即队列中尚无有效数据,任务也会自动从阻塞态转为就绪态
    6. 消息队列是一种异步的通信方式
  2. 特性:
    1. 读消息队列支持超时机制
    2. 可以允许不同长度的任意类型数据(引用方式是指针传递而不是值传递,指向数据的指针,表明数据长度的变量和记录消息发布时刻的时间戳,指针指向的可以是一个数据区域或一个函数)
    3. 一个任务能够从任意一个消息队列接收和发送消息
    4. 多个任务能够从同一个消息队列接收和发送消息
  3. 构成:
    1. 事件控制块
    2. 消息队列
    3. 消息
  4. 消息队列函数:
    1. OS_MsgPoolInit():初始化消息池
    2. OSQCreate():创建一个消息队列
    3. OSQDel():删除一个消息队列
    4. OSQFlush():清空一个消息队列
    5. OSQPend():等待消息队列
    6. OSQPendAbort():取消等待消息队列
    7. OSQPost():向消息队列发送一条消息
    8. 常用函数:创建、发送、等待接收这三个函数;
  5. 实现例程:
    1. 创建消息队列:
          //创建消息队列
          OSQCreate((OS_Q          *)&queue,    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值