当前位置: 首页 > news >正文

类似情侣空间的网站开发网站怎样做平面设计图

类似情侣空间的网站开发,网站怎样做平面设计图,厦门装修公司网站建设,威海建设银行网站目录 FreeRTOS学习第9篇--队列介绍1. 数据传输的方法1.1 任务之间如何传输数据1.2 队列的本质 2. 队列的工作原理和实现2.1 创建队列2.2 向队列发送数据2.3 从队列接收数据 3. 使用队列进行任务间的通信3.1 通信示例3.2 同步示例 结论 FreeRTOS学习第9篇–队列介绍 本文目标FreeRTOS学习第9篇–队列介绍 按照本文的描述理解操作系统中的队列 本文实验条件理论学习篇 1. 数据传输的方法 1.1 任务之间如何传输数据 多种方法比较 数据个数互斥措施阻塞-唤醒使用场景全局变量1无无一读一写环形缓冲区多个无无一读一写队列多个有有多读多写 初学感觉消息队列挺麻烦搞个全局数组不是更简单其实不然。在裸机编程时使用全局数组的确比较方便但是在加上 RTOS 后就是另一种情况了。相比消息队列使用全局数组主要有如下四个问题 1.使用消息队列可以让 RTOS 内核有效地管理任务而全局数组是无法做到的任务的超时等机制需要用户自己去实现。 2.使用了全局数组就要防止多任务的访问冲突而使用消息队列则处理好了这个问题用户无需担心。 3.使用消息队列可以有效地解决中断服务程序与任务之间消息传递的问题。 4.FIFO 机制更有利于数据的处理。 1.2 队列的本质 队列中数据的读写本质就是环形缓冲区在这个基础上增加了互斥措施、阻塞-唤醒机制。 如果这个队列不传输数据只调整数据个数它就是信号量(semaphore)。 如果信号量中限定数据个数最大值为1它就是互斥量(mutex)。 接下来我们将继续深入探讨队列的工作原理、实现方式以及如何在FreeRTOS中使用队列进行任务间的同步和通信。 2. 队列的工作原理和实现 队列Queue是一种先进先出FIFOFirst In First Out的数据结构它允许在一端rear添加数据在另一端front移除数据。在FreeRTOS中队列不仅用于数据传输还可以用作任务同步机制。FreeRTOS队列传递的是实际数据并不是数据地址。 2.1 创建队列 在FreeRTOS中队列是通过调用xQueueCreate()函数创建的。此函数需要两个参数队列可以存储的最大元素数量和每个元素的大小。 c复制QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize );创建成功后函数返回一个队列句柄QueueHandle_t通过这个句柄可以访问队列。如果创建失败返回NULL。 2.2 向队列发送数据 通过xQueueSend()、xQueueSendToFront()、xQueueSendToBack()和xQueueSendOverwrite()函数可以向队列发送数据。这些函数允许在不同的场景下发送数据比如添加到队列的前面或后面或者覆盖队列中的现有数据。 BaseType_t xQueueSend( QueueHandle_t xQueue, const void * pvItemToQueue, TickType_t xTicksToWait );2.3 从队列接收数据 通过xQueueReceive()函数从队列接收数据。调用此函数时如果队列为空则任务可以选择阻塞等待直到数据可用。 BaseType_t xQueueReceive( QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait );3. 使用队列进行任务间的通信 队列是实现任务间通信的强大工具。它们允许任务以线程安全的方式交换信息而不必担心数据损坏或竞态条件。 3.1 通信示例 考虑一个生产者-消费者场景生产者任务创建数据消费者任务处理数据。这里队列充当生产者和消费者之间的桥梁。 生产者任务将数据发送到队列。消费者任务等待队列中的数据接收后进行处理。 3.2 同步示例 队列也可以用于任务同步。例如一个任务可能需要等待另一个任务完成特定工作后才能继续。这可以通过发送和接收特定的同步消息或信号来实现。 结论 理解和使用队列是掌握FreeRTOS中任务间通信和同步的关键。通过本文的介绍您应该能够理解队列的基本概念、如何创建和使用队列以及如何利用队列在任务间传递数据和信号。实践中灵活运用队列不仅可以解决复杂的同步问题还能提升系统的稳定性和响应速度。
http://www.hkea.cn/news/14564839/

相关文章:

  • 摄影师如何做网站网站建设 网站优化营销型网站建设专家
  • 西安网站建设需要多少钱如何自己建设简单的手机网站首页
  • 电子网站建设价格重庆市
  • 梧州网站建设厂家wordpress font awesome cdn
  • 怀柔网站建设电商网站购买的流程图
  • python开发做网站高德地图加拿大能用吗
  • 自己怎么个人网站腾讯云服务器收费标准
  • h5手机端网站开发小程序注册条件
  • 网站建设详细过程余姚做网站
  • 网站更换目录名如何做301跳转做产品包装的3d网站
  • php网站开发岗位要求某服装企业网站建设方案
  • 网站编程电子书做qq动图的网站
  • 广西南宁官方网站企业淄博网站制作高端形象
  • 网站规划设计是什么十大待遇最好央企
  • 网站备案的规定xml网站地图怎么做
  • 建立网站找什么公司天津网站优化首页
  • 网站界面设计pswordpress做登陆界面
  • 网站seo什么意思软件推荐网站
  • 网站建设托管预算清单小贷做网站
  • 网站建设行业数据特别好的企业网站程序
  • 如何建一个公司网站怎么做辅助发卡网站
  • 移动论坛网站模板济宁做网站公司
  • nas怎么做自己的网站简历设计网官网
  • apple私人免费网站怎么下载群晖 wordpress加载慢
  • 花店网站建设毕设介绍全定制网站开发
  • 网站的pv uv域名服务器在哪个国家
  • 唐山网站建设哪家优惠广州购物网站建设
  • 微信做一元云购网站wordpress去除文章作者
  • 网站建设技术入股协议软件外包平台的服务商
  • 建设网站素材简历模板免费网页