摘要: 示例源码基于FreeRTOS V9.0.0 队列集 1. 概述 队列集的本质也是队列,只不过里面存放的是“队列句柄”。 当任务需要及时读取多个队列时,可以使用队列集。它类似于posix的多路复用思想。可以将想要监听消息的队列放入队列集中,当其中有队列有数据达到时,队列集的接口会返回可读的队列句柄,用 阅读全文
posted @ 2023-12-02 18:38 流翎 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 示例源码基于FreeRTOS V9.0.0 邮箱 1. 概述 一种特殊的队列,队列深度只有1,写数据的时候是覆盖写,读数据的时候,读完不会把数据从队列删除; 写数据的时候永远是成功的,读数据的时候仅第一次队列无数据时会阻塞或失败,当队列有数据后,读都会是成功的; 2. 接口API // 写队列 #d 阅读全文
posted @ 2023-12-02 18:33 流翎 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 示例源码基于FreeRTOS V9.0.0 队列 1. 概述 FreeRTOS的队列,支持任务与任务间的通信,以及任务与中断间的通信。它是FreeRTOS系统中主要的任务间通信方式。 队列内的消息,是通过拷贝方式传递,而非指针。 队列除了基本的先进先出特性,也支持往队列首部写入数据。 FreeRTO 阅读全文
posted @ 2023-12-02 18:25 流翎 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 示例源码基于FreeRTOS V9.0.0 链表 1 概述 链表一般可分为单向链表、双向链表、环形链表。FreeRTOS采用的是环形双向链表设计; 单向链表只有后继节点,双向链表有后继和前驱节点; 链表的目的是把元素串联,其设计方式一般有两种: 将元素放置在链表结构体中; 将链表结构体放置在元素中; 阅读全文
posted @ 2023-12-02 18:02 流翎 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 示例源码基于FreeRTOS V9.0.0 内存管理 1 概述 FreeRTOS 有自己的一套内存管理机制,而非直接使用malloc和free等C库函数。 malloc和free由于实现复杂,代码量大,运行时间不确定,存在内存碎片,非线程安全等问题,不适用于资源紧缺的FreeRTOS系统; Free 阅读全文
posted @ 2023-12-02 17:50 流翎 阅读(422) 评论(0) 推荐(0) 编辑
摘要: python xml处理(ElementTree) 1. 模块导入 from xml.etree.ElementTree import ElementTree,Element,SubElement 2. 对象概述 ElementTree:表示整个xml层级结构 Element:表示树形结构中的父节点 阅读全文
posted @ 2023-10-08 20:54 流翎 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1. C 库源码分析 以下分析的源码基于mavlink生成器 1.0.12版本,mavlink协议为v2。 1.1. 编解码流程 以下按common.xml 内定义的heartbeat消息示例,分析heartbeat消息的编码流程,其他消息雷同。 首先,生成器mavgenerate将定义在xml内的 阅读全文
posted @ 2023-09-29 21:02 流翎 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 1. 库文件接口使用 1.1. 原理 发送方发送数据,需要经历组包->格式转换->发包(根据链路类型调用相关发送接口)的过程; 接收方接收数据,需要经历解包->msgId解析->具体消息处理的过程; 1.2. 接口 需要关注的重点是发送数据,接收数据的流程。Mavlink提供了几类接口,简化了应用层 阅读全文
posted @ 2023-09-17 10:45 流翎 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 1. 安装生成器 1.1. 环境准备 因网络环境限制,无法在线安装相关软件包,且ubuntu离线安装需要解决较多依赖包问题,故以下介绍windows离线安装方式。 系统:MAVLink开发环境可以搭建在Windows和Linux系统。此处选windows安装。 工具包:python3.3以上、Fut 阅读全文
posted @ 2023-09-17 00:48 流翎 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 1. xml文件框架和语法 1.1. 文件结构 MaVLink XML 文件的大致结构如下: <?xml version="1.0"?> <mavlink> <include>common.xml</include> <include>other_dialect.xml</include> <!-- 阅读全文
posted @ 2023-09-16 20:38 流翎 阅读(582) 评论(0) 推荐(0) 编辑