1、使用消息队列的发送和接收前,需要先创建消息队列

2、消息队列的深度和大小

  深度 就是数组的元素个数

  大小 就是整个数组占用的空间大小

消息队列的创建

static void AppObjCreate(void)
{
xQueueAdcValue = xQueueCreate(6, sizeof(uint16_t) * 6);
if (xQueueAdcValue == 0) {
/* 没有创建成功,用户可以在这里加入创建失败的处理机制 */
}
xQueueAdcAlarm = xQueueCreate(6, sizeof(uint16_t) * 6);
if (xQueueAdcAlarm == 0) {
/* 没有创建成功,用户可以在这里加入创建失败的处理机制 */
}
/* 创建10个uint8_t型消息队列 */
xQueue2 = xQueueCreate(10, sizeof(uint8_t));
if (xQueue2 == 0) {
/* 没有创建成功,用户可以在这里加入创建失败的处理机制 */
}
}
消息队列的发送

__IO uint16_t avrgADCConvertedValue[ADC_CH_NUM]; //经过滤波算法后的数值 void adc_value_queue_publish(void)
{
static uint8_t pub_cnt = 0;
if (++pub_cnt > 200) // 10s
{
pub_cnt = 0;
if (xQueueSend(xQueueAdcValue, (void*)avrgADCConvertedValue, (TickType_t)10) == pdPASS) {
test_rtt_printf(0, 0, "adc value queue is published!\r\n");
} else {
test_rtt_printf(0, 0, "adc value queue publish falut!\r\n");
}
}
}
消息队列的接收

uint16_t ADCValue[6]; if (pdPASS == xQueueReceive(xQueueAdcValue, (void*)ADCValue, (TickType_t)10)) {
test_rtt_printf(0, 0, "adc value queue is received!\r\n");
adc_value_to_can_data(ADCValue, pub_dat);
can1_msg_send(0x00, CAN_EXTID_PUBLSIH, CAN_ID_EXT, CAN_RTR_DATA, 8, pub_dat);
}

FreeRTOS消息队列传递数组的更多相关文章

  1. FreeRTOS 消息队列

    以下基础内容转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 的一个重要的通信机制----消息队列,初学者要熟练掌握,因为消息 ...

  2. FreeRTOS消息队列

    FreeRTOS 的一个重要的通信机制----消息队列,消息队列在实际项目中应用较多. 一.消息队列的作用及概念: 消息队列就是通过 RTOS 内核提供的服务,任务或中断服务子程序可以将一个消息(注意 ...

  3. 继续学习freertos消息队列

    写在前面:杰杰这个月很忙~所以并没有时间更新,现在健身房闭馆装修,晚上有空就更新一下!其实在公众号没更新的这段日子,每天都有兄弟在来关注我的公众号,这让我受宠若惊,在这里谢谢大家的支持啦!!谢谢^ 在 ...

  4. python 实现多个线程间消息队列传递,一个简单的列子

    #-*-coding:utf8-*-"""Producer and consumer models: 1. There are many producers and co ...

  5. 【FreeRTOS学习04】小白都能懂的 Queue Management 消息队列使用详解

    消息队列作为任务间同步扮演着必不可少的角色: 相关文章 [FreeRTOS实战汇总]小白博主的RTOS学习实战快速进阶之路(持续更新) 文章目录 相关文章 1 前言 2 xQUEUE 3 相关概念 3 ...

  6. 【转】windows消息和消息队列详解

    转载出处:http://blog.csdn.net/bichenggui/article/details/4677494  windows消息和消息队列 与基于MS - DOS的应用程序不同,Wind ...

  7. windows消息和消息队列

    windows消息和消息队列 转自:http://blog.163.com/zhangjie_0303/blog/static/990827062010113062446767/ 与基于MS - DO ...

  8. ZWave 中的消息队列机制

    文章主题   在我们的日常编程中,对消息队列的需求非常常见,使用一个简洁.高效的消息队列编程模型,对于代码逻辑的清晰性,对于事件处理的高效率来说,是非常重要的.这篇文章就来看看 ZWave 中是通过什 ...

  9. RabbitMQ,RocketMQ,Kafka 几种消息队列的对比

    常用的几款消息队列的对比 前言 RabbitMQ 优点 缺点 RocketMQ 优点 缺点 Kafka 优点 缺点 如何选择合适的消息队列 参考 常用的几款消息队列的对比 前言 消息队列的作用: 1. ...

  10. 鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据 | 百篇博客分析OpenHarmony源码 | v33.02

    百篇博客系列篇.本篇为: v33.xx 鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 自旋锁 ...

随机推荐

  1. 深入图解AQS实现原理和源码分析

    AQS底层实现原理用一句话总结就是:volatile + CAS + 一个虚拟的FIFO双向队列(CLH队列).所以在了解AQS底层实现时,需要先深入了解一下CAS实现原理. #名词解释(1)CAS: ...

  2. SqlServer数据插入性能小记

    对于SQL性能,已经很久没关注了.由于近期项目既没有几千万的海量数据也没有过多的性能要求,所以在性能上也就没下太多功夫.然而,前不久和朋友闲谈间话题一转就说到程序上了,他说他用Delphi做了个数据导 ...

  3. 一文搞懂SaaS架构建设流程:业务战略设计、架构蓝图设计、领域系统架构设计、架构治理与实施

    大家好,我是汤师爷~ SaaS架构建设是一项复杂的系统工程,不仅需要技术层面的实现,更要从业务战略.架构设计.治理与实施等多个维度进行全面规划. 一个成功的SaaS架构可以帮助企业降低IT成本.提升业 ...

  4. Spring Boot前后端分离直接访问静态页+ajax实现动态网页

    Spring Boot前后端分离直接访问静态页+ajax实现动态网页. 一般java里面Spring Boot项目的静态资源resources/下面有两个文件夹和一个配置文件,分别是static/目录 ...

  5. 【译】使用 Visual Studio Profiler 进行基准测试

    在 Visual Studio 17.13 预览版中,我们发布了更新的 BenchmarkDotNet 诊断器,允许您使用性能分析器中的更多工具来分析基准测试.有了这个变化,可以非常快速地挖掘 CPU ...

  6. Superset用户集成方案2

    superset 认证分析 superset基于flask-appbuilder开发,security基于flask_appbuilder.security,翻阅其代码, 找到入口: superset ...

  7. Kali 关闭自动锁屏功能

    Kali 关闭自动锁屏功能 1.点击 [开始] -> [设置] -> [电源管理器] 2.选择 [安全性],将 [自动锁定会话] 选为 [从不],将 [当系统休眠时锁定屏幕] 取消勾选,点 ...

  8. MacSecureCRT配置

    一.调整连接服务器超时时间 Options->Global Options->General->Default Session-> 右侧Edit Default Setting ...

  9. Tinyfox 简易教程之:Hello World!

    一,什么是 Tinyfox: Tinyfox 是一款自带 HTTP 服务器的以 WebApi.WebSocket 及"动态HTML"为核心功能的超轻量级的独立性极强的高性能 Web ...

  10. Docker 持续集成部署+ELK日志相关等 完美实践

    docker(ubuntu) 卸载docker # 卸载(如有) for pkg in docker.io docker-doc docker-compose docker-compose-v2 po ...