APM中SBUS信号解析

2023-05-16

一、SBUS信号概述

        SBUS信号以串口传输,波特率为100000bps。每2ms一帧,一帧25个字节。其中第0字节为起始帧,固定为0x0F。第24字节为帧尾。第1~22字节为1-16比例通道数据字节。第23字节为状态字,具体位含义如下:

        第3位:是否丢帧标识,1为丢帧,0为正常。

        第4位:是否失控保护是否激活,1为激活。

二、APM中SBUS数据流

        老规矩,先上类图。

        

                                                                         (1)

         如图(1)所示,硬件抽象层AP_HAL::RCInput是具体应用平台的父类,根据具体的芯片选择对应的子类与子类的方法。由于雷迅的x7-pro用的stm32H7的芯片,故实例化ChibiOS::RCInput子类。

        

                                                                 (2)

        APM中sbus数据在AP_RCProtocol_SBUS::sbus_decode()函数中解析,该函数的调用关系见图(2)。在ChibiOS命名空间下的RCInput类中的_timer_tick()函数中获取了AP_RCProtocol_SBUS类的实例化对象rcprot。rcprot调用read函数,获取_rc_values值,该值通过hal.rcin接口传输到上层应用中。

                                                                        (3)

        如图(3)所示,Copter::rc_loop()以100Hz的频率调用read_radio();遥控器的数据以100Hz的频率更新。

        

三、SBUS协议解析

           APM具体SBUS解析见下图。

        

                                                                        (4)

           如图(4)所示,sbus_decode首先判断帧头,若帧头非0x0F,直接退出解析,返回false。帧尾未作处理。

        

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

APM中SBUS信号解析 的相关文章

  • 这里看到一个说APM对mavros支持不是特别好

    这里看到一个说APM对mavros支持不是特别好 https blog csdn net qq 29573053 article details 72518302 utm medium 61 distribute pc relevant t
  • PX4 APM ROS MAVROS Gazebo之间关系

    https www cnblogs com yilangUAV p 14476923 html 1 PX4与APM 参考 https bbs amovlab com forum php mod 61 viewthread amp tid 6
  • 使用VSCode打造APM飞控的编译+烧录+调试一体的终极开发环境

    版权声明 xff1a 本文为博主原创文章 xff0c 遵循 CC 4 0 BY SA 版权协议 xff0c 转载请附上原文出处链接和本声明 本文链接 xff1a https blog csdn net loveuav article det
  • STM32解析SBUS信号例程详解

    文章目录 1 SBUS信号简介2 STM32F7解析SBUS信号例程 xff08 1 xff09 串口配置 xff08 2 xff09 串口中断接收 xff08 3 xff09 信号解析 1 SBUS信号简介 最近在搞一个项目的通信和控制
  • 使用simulink分析APM日志信息

    一 将bin转化成mat文件 使用mission planner将bin文件转化成mat文件 二 将工作区变量转化成timeserial对象 RCIN TimeSerial 61 timeseries RCIN 3 RCIN 2 1e6 三
  • APM、PIXHAWK、PX4的关系

  • 烧写APM板的bootloader

    所需工具材料 xff1a 1 一个AVRusbasp编程器以及相应的烧写软件 xff0c 推荐progisp1 72下载链接https download csdn net download sky7723 12477620 2 AVR的US
  • apm、pixhawk、pixhack飞控航拍后pos数据提取流程

    apm pixhawk pixhack飞控pos数据提取流程 下载日志 打开log分析 区域omap地图验证 验证之前将log文件使用mission planner进行kml验证 筛选相机pos坐标 xff08 选择CAM xff09 很重
  • APM飞控修改数传模块方法

    APM飞控修改数传模块方法 硬件 ARDUCOPTER第二代数传模块 USB接口 数传模块 telem接口 usb ttl模块 修改方法 注意 xff1a APM固件版本和数传模块估计版本是分开的 xff0c 但有一定的对应关系 xff0c
  • 开源 apm_使用开源APM软件:InspectIT

    开源 apm 在当今时代 xff0c 软件系统不断变得越来越复杂 同时 xff0c 客户对响应时间和可用性的期望比以往更高 如您所知 xff0c 性能不佳的服务可能会将客户吸引到竞争对手的产品中 因此 xff0c 系统故障和性能不佳通常会对
  • APM学习--Skywalking安装(5.0.0版本)

    Requirements JDK 6 43 xff08 instruments application can run in jdk6 xff09 JDK8 SkyWalking collector and SkyWalking WebUI
  • APM飞控添加自定义参数

    原文链接 xff1a http www nufeichuiyun com p 61 283
  • 我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

    从2009年到现在 xff0c 我从事无人机研发将近11年了 xff0c 中途设计过很多飞控 xff0c 有闭源的无人飞艇飞控 大型固定翼无人机飞控 xff0c 也有在开源飞控Pixhawk基础上修改的飞控 xff0c 如今 xff0c 基
  • APM 学习 6 --- ArduPilot 线程

    ArduPilot 学习之路 6 xff0c 线程 英文原文地址 xff1a https ardupilot org dev docs learning ardupilot threading html 理解 ArduPilot 线程 线程
  • RS-485信号解析

    这次来看看RS 485信号 使用绿联的USB转RS485模块 线用的颜色不对 xff0c 类型也不对 xff0c 实际使用中请用带屏蔽层的双绞线 示波器CH1是R xff08 B xff09 示波器CH2是R 43 xff08 A xff0
  • PWM脉宽调制 与PPM、SBUS、DSM2 协议 详细介绍

    原文地址 xff1a http www 5imx com portal php mod 61 view amp aid 61 1351 相信这个问题是每个模友在新入航模坑时都会遇到的问题 xff0c 也仍然在困扰着不少新手 这里简单对比解释
  • ArduPilot/APM源码学习笔记(一)

    最近开始学习ArduPilot APM飞控的源码 xff0c 源码托管在github上 源码链接 xff1a https github com diydrones ardupilot 飞控主页 xff1a http ardupilot co
  • APM EKF2 alt source

    主要看NavEKF2 core下面的selectHeightForFusion 函数 首先从应用层读取高度 xff0c 再进行角度补偿 xff0c 分别有三种高度源 xff1a baro rangefinder GPS xff08 可以在地
  • APM添加参数

    APM添加参数 参考 https ardupilot org dev docs code overview adding a new parameter html 添加应用参数模块 例如 battery Parameters h k par
  • esp32 Arduino IDE读取航模接收机SBUS信号

    库函数下载链接https download csdn net download qq 40925542 87207281 该库函数适用于具有多个串口的开发板 xff0c esp32中测试通过 xff0c 测试代码如下 xff1a inclu

随机推荐

  • STM32解析SBUS信号例程详解

    文章目录 1 SBUS信号简介2 STM32F7解析SBUS信号例程 xff08 1 xff09 串口配置 xff08 2 xff09 串口中断接收 xff08 3 xff09 信号解析 1 SBUS信号简介 最近在搞一个项目的通信和控制
  • STM32实现四驱小车(二)通信任务——遥控器SBUS通信

    目录 一 遥控器通信原理简介二 SBUS信号解析1 SBUS信号简介2 STM32F7解析SBUS信号 三 通信任务实现 一 遥控器通信原理简介 要实现一个遥控小车当然要有一个遥控器了 xff0c 目前市面上常用的航模遥控器基本都是2 4G
  • STM32实现四驱小车(四)姿态控制任务——偏航角串级PID控制算法

    目录 一 绪论二 角度环串级PID原理1 PID基本算法2 姿态角串级PID原理 三 如何用STM32实现角度 角速度的串级PID控制1 PID算法的代码实现2 串级PID算法的代码实现 四 UCOS III姿态控制任务的实现 一 绪论 这
  • resource not found: ROS path [0]=/opt/ros/kinetic/share/ros ROS path [1]=/opt/ros/kinetic/sh

    问题 xff1a 1 resource not found ROS path 0 61 opt ros kinetic share ros ROS path 1 61 opt ros kinetic sh 2 Running xacro f
  • C++问题及解决记录

    目录 1 xff0c 无法include问题 2 xff0c c 43 43 多线程如何调试 3 opencv两个mat 相减 xff0c 从数学计算上不应为0 xff0c 但是结果为0 4 代码正确但是还是报错的问题 1 xff0c 无法
  • freertos任务管理

    TODO xff08 未完待续 xff09 核心调度器的调度实现部分介绍完成时间片的处理介绍完成任务切换处理介绍完成空闲任务未完成定时器任务未介绍完成通信方式实现未介绍完成 freertos概述 freertos属于小系统实时操作系统 xf
  • docker build

    docker build命令会根据Dockerfile文件及上下文构建新Docker镜像 构建上下文是指Dockerfile所在的本地路径或一个URL xff08 Git仓库地址 xff09 构建上下文环境会被递归处理 xff0c 所以 x
  • FreeRTOS任务间通信方式——队列

    一 三种任务调度方式 优先级抢占式调度 每个任务都赋予了一个优先级每个任务都可以存在于一个或多个状态在任何时候都只有一个任务可以处于运行状态调度器总是在所有处于就绪态的任务中选择具有最高优先级的任务来执行 选择任务优先级 这种任务调度方式是
  • 改变ros bag 中消息的frame_id 和话题名

    1 改变话题名 参考链接 https blog csdn net ethan guo article details 80262650 rosbag play file bag foo 61 bar foo是原topic xff0c bar
  • ROS下单目相机标定过程

    下面简单记录一下我利用ros标定相机参数的过程 xff0c Ubuntu 16 04 xff0c 摄像头用的罗技C920 ROSwiki有相机矫正的官方文档 xff0c 有单目的也有立体相机的教程 xff0c 建议直接看原文 xff0c 原
  • ADC与DMA回顾

    12位ADC是一种逐次逼近型模拟数字转换器 它有多达18个通道 xff0c 可测量16个外部和2个内部信号源 各通道的A D转换可以单次 连续 扫描或间断模式执行 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中 ADC 的输入时
  • C++实现rviz 2D Pose Estimate 功能设置机器人初始坐标

    1 首先查看设置初始坐标的话题 为 intialpose xff0c 查看消息类型和格式从而决定怎么给它发数据 xff08 1 xff09 首先打开一个可以自动导航的项目文件 xff0c 打开rviz xff0c 点击2D Pose Est
  • PHPWord 导出模版Word文件,无法打开,提示xml pasring error

    最近在处理网站批量导出模版word时 xff0c 遇到一个问题 xff1a 网站是用PHP语言编写的 xff0c 导出模版word xff08 即将用户填写内容动态的插入word相应位置 xff0c 生成 doc或 docx文件 xff09
  • windows多线程分析——Semaphore(信号量)

    Semaphore相当于升级版的Mutex xff0c 因为当CreateSemaphore NULL 1 1 NULL 中第三个参数为1时 xff0c 就相当于是在CreateMutex 看一个CreateSemaphore NULL 1
  • windows下的tensorflow安装教程

    转载 xff1a https www cnblogs com lvsling p 8672404 html https blog csdn net Eppley article details 79297503 一 前言 本次安装tenso
  • TX2学习笔记(1)——NVIDIA Jetson TX2 开箱上电

    期待已久的NVIDIA Jetson TX2终于到货了 xff0c 迫不及待拆箱上电学习学习 xff01 第一次接触这么高配置的板子 xff0c 拆箱上电还是比较束手束脚 xff0c 怕一不小心就弄坏了 xff0c 好在这板子质量确实可以
  • 从零开始Cubemx配置STM32搭载freeRTOS以及lwip实现tcp网络通信(二)

    从零开始Cubemx配置STM32搭载freeRTOS以及lwip实现网络通信 引言CubeMX配置以太网以及LWIP实现一个回环功能 xff08 裸机 xff09 ETH配置LWIP配置 CubeMX配置以太网以及LWIP实现一个回环功能
  • 让电脑使用手机的摄像头做直播

    一 xff0c 软件准备 xff08 1 xff09 直播软件 xff1a bilibili直播姬 xff08 2 xff09 摄像头工具 xff1a DroidCam xff0c PC端和手机端 xff08 提取码 xff1a 43n1
  • pixhawk 开发日记--开发环境搭建

    我用的是Ubuntu20 04 一 源码下载 编译 烧写 1 下载源码 git clone https github com PX4 PX4 Autopilot git recursive 2 下载子仓库代码 git submodule u
  • APM中SBUS信号解析

    一 SBUS信号概述 SBUS信号以串口传输 xff0c 波特率为100000bps 每2ms一帧 xff0c 一帧25个字节 其中第0字节为起始帧 xff0c 固定为0x0F 第24字节为帧尾 第1 22字节为1 16比例通道数据字节 第