FreeRTOS笔记(四)消息队列

FreeRTOS消息队列详解
本文介绍了FreeRTOS中消息队列的实现原理、进程间通信、队列的创建与操作,包括读写过程、阻塞访问和互斥机制。重点讨论了全局变量的弊端以及复制队列的优势,并阐述了休眠与唤醒的机制。

freeRTOS中的链表


ReadList

有ReadList[5]、ReadList[4].....ReadList[0]六个链表

[5]的优先级最高,创建的任务优先级为x就挂在ReadList[x]的链表中,系统执行任务时先从ReadList[5]开始依次向下检索。高优先级可以抢占低优先级。每发生tick中断都从最高优先级重新检索。

DelayedList

只有一个链表,作用是休眠。

SuspendList

只有一个链表

消息队列


  • 队列可以包含若干个数据:队列中有若干项,这被称为"长度"(length)

  • 每个数据大小固定

  • 创建队列时就要指定长度、数据大小

  • 数据的操作采用先进先出的方法(FIFO, First In First Out):写数据时放到尾部,读数据时从头部读

  • 也可以强制写队列头部:覆盖头部数据

队列的实现原理
进程间的通信方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值