0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeRTOS是怎样使用队列在任务间传输单种类型数据的

工程师邓生 来源:硬件会 作者:硬件会 2022-09-15 11:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

队列是先进先出的一种数据结构。

队列的使用:

第一步:创建队列,队列的长度和所包含数据类型的size

8f199202-3120-11ed-ba43-dac502259ad0.png

第二步:往队列里发送数据

第三步:从队列里取出来数据

API函数:

QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize );//创建队列 队列长度和size BaseType_t xQueueSend(//任务往队列里发送消息 QueueHandle_t xQueue,//队列句柄 const void * pvItemToQueue,//消息 TickType_t xTicksToWait//超时时间 如果返回pdPASS说明消息队列不满 ); 示例如下:

8f468a3c-3120-11ed-ba43-dac502259ad0.png

8f58faa0-3120-11ed-ba43-dac502259ad0.png

8f70a2b8-3120-11ed-ba43-dac502259ad0.png




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FreeRTOS
    +关注

    关注

    14

    文章

    497

    浏览量

    66357
  • API函数
    +关注

    关注

    0

    文章

    15

    浏览量

    8385

原文标题:FreeRTOS使用队列在任务间传输单种类型数据

文章出处:【微信号:硬件会,微信公众号:硬件会】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FreeRTOS 空闲任务

    FreeRTOS 中很多人会注意到为什么有一个叫IDLE task的任务占用了CPU百分之九十多的使用权,但是这个任务并没有自己手动创建。原因就是这个空闲任务是系统自己创建的,每当系统
    发表于 12-04 07:35

    RTOS 必学概念:任务、信号量、队列一次搞懂

    如果你刚接触RTOS(实时操作系统),很可能会有这样的困惑:“RTOS和裸机程序到底有什么区别?”“任务是线程吗?为什么要分任务?”“信号量和互斥锁有什么区别,不都是同步手段吗?”“队列是不是就是一
    的头像 发表于 11-17 10:53 191次阅读
    RTOS 必学概念:<b class='flag-5'>任务</b>、信号量、<b class='flag-5'>队列</b>一次搞懂

    FreeRTOS和uC/OS-II的功能特性

    FreeRTOS: 核心功能: 任务调度(固定优先级抢占式 + 时间片轮询)、队列、信号量(二进制、计数)、互斥锁(带优先级继承)、软件定时器、事件组(事件标志)、任务通知(高效轻量级
    发表于 11-17 08:17

    freertos关闭任务调度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 关闭任务调度 */ void
    发表于 11-17 06:47

    FreeRTOS任务调度及优先级问题

    ,对于通信的时序要求比较严格,FreeRTOS这种轮转机制会不会导致一些通讯被打断(比如通信的数据并不完整,数据发送到一半因为任务调度就被打断了?) 这可能只是我的一些不切实际的猜想,
    发表于 11-06 02:18

    单模光纤线有几种类型

    单模光纤线根据ITU-T国际标准(G.65x系列)主要分为以下六种类型,每种类型传输性能、应用场景和成本上存在差异: G.652(常规单模光纤): 核心特性:零色散波长在1310nm附近
    的头像 发表于 09-11 10:00 1122次阅读

    NVMe高速传输之摆脱XDMA设计20: PCIe应答模块设计

    应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种
    发表于 08-12 16:04

    NVMe高速传输之摆脱XDMA设计14: PCIe应答模块设计

    应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种
    发表于 08-04 16:44

    FreeRTOS任务中发送事件队列是有什么限制吗?

    到了TMC的芯片,但是在到位上报的信息中少了卡死电机的上报。所以有的电机的到位中断并没有成功写入任务。 一开始是每个电机都开启了一个定时器查询,后续改成一个定时器查六个电机并将定时器的周期加到50ms,就很少会卡死。 所以向FreeRTOS
    发表于 06-11 07:57

    IEC101协议可以传输什么类型数据

    IEC101协议作为电力系统远动通信的核心标准,其核心能力在于支持多种类型数据传输,满足调度端与场站端(如变电站、发电厂)的实时监控、控制及状态感知需求。以下从数据类型
    的头像 发表于 05-21 11:37 704次阅读

    FreeRTOS读取ADS1299数据有误

    您好,请问,用stm32的FreeRTOS队列对ADS1299传感器读取数据,已设置采样率为2khz 在采集任务中:通过spi读取数据
    发表于 05-05 22:48

    stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差

    您好,请问,用FreeRTOS队列对采样率1khz的传感器读取数据, 在采集任务中:通过spi读取数据——滤波(ARM-DSP库)——将
    发表于 05-05 22:44

    FreeRTOS进阶使用之流缓冲区:高效处理字节流的秘密武器

    在嵌入式开发中,流缓冲区(Stream Buffer)是FreeRTOS中用于高效处理字节流数据传输的核心机制,尤其适合任务间或中断与任务
    发表于 03-24 11:37

    嵌入式开发避坑指南|FreeRTOS的5个\"反直觉\"小技巧

    /删除队列后,最终只能分配2KB的碎片。 配置公式:总内存 = 固定开销(1-2KB) + 任务栈+队列+定时器 + 30%余量 + 突发需求突发需求=最大次内存申请(如TCP报文缓
    发表于 03-20 13:57

    使用任务通知提高RTOS应用的效率

    在实时嵌入式系统中,性能和资源效率是决定设计成败的关键因素。传统的实时操作系统(RTOS)提供了如队列、信号量和事件组机制,实现任务之间的同步和通信。FreeRTOS/SAFERTOS还提供一种方法可以使这些过程更快、更轻量化,
    的头像 发表于 12-27 14:54 1073次阅读