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. linux:安装php7.x

    参考:链接 更新yum源 CentOS/RHEL 7.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.n ...

  2. Linux Bridge和Tap关系详解

    本文分享自天翼云开发者社区<Linux Bridge和Tap关系详解>,作者:x****n Linux Bridge介绍 Bridge(桥)是Linux上用来做TCP/IP二层协议交换的设 ...

  3. Google 常用语法说明

    Google 常用语法说明 背景 Google Hacking,作为一种利用谷歌搜索引擎的强大能力来挖掘互联网中敏感或未公开信息的技巧,已成为安全研究.漏洞挖掘及信息搜集领域的重要工具. 通过精心构造 ...

  4. GUI编程之Swing

    窗口 面板  package com.yeyue.lesson04; ​ import javax.swing.*; import java.awt.*; ​ public class JFrameD ...

  5. nacos(五): 读取nacos配置并实现动态刷新

    接上回<nacos(四): 创建第一个消费者Conumer(单体)>,这一篇将介绍如何读取nacos中的配置,并实现动态刷新. 首先,需要先引入spring-cloud-starter-a ...

  6. ABB机器人3HNE00313-1示教器黑屏故障维修

    随着工业自动化的快速发展,ABB机器人示教器在生产线上的应用越来越广泛.然而,在使用过程中,示教器偶尔也会出现故障,其中比较常见的一种是ABB工业机械手示教器黑屏故障. 一.ABB工业机器人示教盒黑屏 ...

  7. mysql中,让自动增长字段值复位/重新计数

    在使用mysql时,常常要设置一个id值,并设置为自动增长 如果想要复位重新计数的话,那么应该使用以下语句 ALTER TABLE `表名` AUTO_INCREMENT = 1; 但需要注意的是,除 ...

  8. Go红队开发—并发编程

    目录 并发编程 go协程 chan通道 无缓冲通道 有缓冲通道 创建⽆缓冲和缓冲通道 等协程 sync.WaitGroup同步 Runtime包 Gosched() Goexit() 区别 同步变量 ...

  9. 大数据之路Week10_day01 (通过直接创建Hfile文件的方式往Hbase中插入数据)

    package com.wyh.parctise; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.P ...

  10. VMware16虚拟机安装激活教程

    1.开始安装前需要准备好的软件 VMware-workstation-full-16--虚拟机软件(必要) 获取方式: 官方下载地址:https://www.vmware.com/cn/product ...