07嵌入式实时操作系统FreeRTOS队列与消息传递.ppt
《07嵌入式实时操作系统FreeRTOS队列与消息传递.ppt》由会员分享,可在线阅读,更多相关《07嵌入式实时操作系统FreeRTOS队列与消息传递.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式实时操作系统嵌入式实时操作系统FreeRTOSFreeRTOS原理及应用原理及应用基基于于STM32STM32微控制器微控制器嵌入式实时操作系统嵌入式实时操作系统FreeRTOS原理及应用原理及应用张超张超 主编主编STM32 Cortex-M4通用开发板通用开发板嵌入式实时操作系统嵌入式实时操作系统FreeRTOS原理及应用原理及应用FreeRTOS队列及其结构队列及其结构队列操作队列操作用队列实现串口守护任务用队列实现串口守护任务FreeRTOS队列与消息传递队列与消息传递主要内容:主要内容:一、FreeRTOS队列及其结构队列及其结构FreeRTOS队列与消息传递队列与消息传递Fr
2、eeRTOS队列特性队列特性FreeRTOS队列及其结构队列及其结构 1、存储数据:通常情况下,队列被作为FIFO(先进先出)使用。2、多任务访问:队列不属于某个任务,所有任务都可以操作队列。3、读队列时阻塞:当某个任务试图读一个队列时,可以指定一个阻塞超时时间,当等待的时间超过了指定的阻塞时间,即使队列中尚无有效数据,任务也会自动从阻塞态转移为就绪态。4、写队列时阻塞:同读队列一样,任务也可以在写队列时指定一个阻塞超时时间。队列读写过程队列读写过程FreeRTOS队列及其结构队列及其结构二、队列操作队列操作FreeRTOS队列与消息传递队列与消息传递队列创建队列创建队列操作队列操作与任务创建
3、一样,队列创建也有动态方法和静态方法两种,用xQueueCreate()动态方法创建队列和用xQueueCreateStatic()静态方法创建队列。动态创建方法使用动态内存分配,而静态方法需要用户指定相应内存区。队列创建队列创建队列操作队列操作1、xQueueCreate()用动态内存分配方法创建队列,这其实是一个宏,定义如下:#define xQueueCreate(uxQueueLength,uxItemSize)xQueueGenericCreate(uxQueueLength),(uxItemSize),(queueQUEUE_TYPE_BASE)QueueHandle_t xQue
4、ueGenericCreate(const UBaseType_t uxQueueLength,const UBaseType_t uxItemSize,const uint8_t ucQueueType);真正用来创建队列的是xQueueGenericCreate()函数,函数的原型为:队列创建队列创建队列操作队列操作2、xQueueCreateStatic()用静态方法创建队列,创建过程中使用的内存,需要用户事先分配。这也是一个宏,定义如下:#define xQueueCreateStatic(uxQueueLength,uxItemSize,pucQueueStorage,pxQueue
5、Buffer)xQueueGenericCreateStatic(uxQueueLength),(uxItemSize),(pucQueueStorage),(pxQueueBuffer),(queueQUEUE_TYPE_BASE)队列创建队列创建队列操作队列操作QueueHandle_t xQueueGenericCreateStatic(const UBaseType_t uxQueueLength,const UBaseType_t uxItemSize,uint8_t*pucQueueStorage,StaticQueue_t*pxStaticQueue,const uint8_t
6、ucQueueType);真正用来创建队列的是xQueueGenericCreateStatic()函数入队操作入队操作队列操作队列操作入队操作API有xQueueSend()、xQueueSendToBack()、xQueueSendToFront()、xQueueOverwrite()四个,它们都是长得像函数的宏,实际操作的是xQueueGenericSend()函数。xQueueSendFromISR()、xQueueSendToBackFromISR()、xQueueSendToFrontFromISR()、xQueueOverwriteFromISR()是入队函数的中断安全版本,实际
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 嵌入式 实时 操作系统 FreeRTOS 队列 消息 传递
限制150内