一、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。帧尾未作处理。

APM中SBUS信号解析相关推荐

  1. 树莓派基础实验39:解析无线电接收机PWM、SBUS信号

    一.介绍   虽然如今或者将来,5G网络的建设带来人工智能和工业自动化的全面升级,生产活动中劳动力的需求大大减少,大量的劳动力将向内容生产行业和服务行业转移.教育.医疗.娱乐.公共管理等诸多领域,乃至 ...

  2. STM32-HAL库串口DMA空闲中断的正确使用方式+解析SBUS信号

    STM32-HAL库串口DMA空闲中断的正确使用方式+解析SBUS信号 一. 问题描述 二. 方法一--使用HAL_UART_Receive_DMA 三. 方法二--使用HAL_UARTEx_Rece ...

  3. Qt中的信号与槽机制解析

    注:要想使用Qt的核心机制信号与槽,就必须在类的私有数据区声明Q_OBJECT宏,然后会有moc编译器负责读取这个宏进行代码转化,从而使Qt这个特有的机制得到使用. 所谓信号槽,简单来说,就像是插销一 ...

  4. matlab求信号的瞬时相位,phrase MATLAB中关于信号瞬时相位 频率的提取的代码,值得学习,很实用 267万源代码下载- www.pudn.com...

    文件名称: phrase下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 2403 KB 上传时间: 2014-05-06 下载次数: 94 提 供 者: 杨 ...

  5. linux内核定义的常用信号6,Linux中的信号

    在 Linux 中,理解信号的概念是非常重要的.这是因为,信号被用于通过 Linux 命令行所做的一些常见活动中.例如,每当你按 Ctrl+C 组合键来从命令行终结一个命令的执行,你就使用了信号.每当 ...

  6. 10JavaScript中的预解析

    技术交流QQ群:1027579432,欢迎你的加入! 1.预解析 JavaScript代码是由浏览器中的JavaScript解析器来执行的.JavaScript解析器在运行JavaScript代码的时 ...

  7. 我使用过的Linux命令之trap - 在脚本中处理信号

    用途说明 trap是一个shell内建命令,它用来在脚本中指定信号如何处理.比如,按Ctrl+C会使脚本终止执行,实际上系统发送了SIGINT信号给脚本进程,SIGINT信号的默认处理方式就是退出程序 ...

  8. Caffe中的损失函数解析

    Caffe中的损失函数解析 导言 在有监督的机器学习中,需要有标签数据,与此同时,也需要有对应的损失函数(Loss Function). 在Caffe中,目前已经实现了一些损失函数,包括最常见的L2损 ...

  9. 【数字信号处理】相关函数应用 ( 相关函数应用场景 | 噪声中检测信号原理 )

    文章目录 一.相关函数应用场景 一.相关函数应用场景 求下面信号的 " 自相关函数 " : x(n)=sin⁡(2πfn)+N(n)x(n) = \sin(2\pi fn) + N ...

  10. 2020美国计算机研究生学校排名,2020 US.news 美国研究生院排名出炉,美中国际独家解析!...

    原标题:2020 US.news 美国研究生院排名出炉,美中国际独家解析! 今天,美国US.news发布了2020年美国研究生院排名.和往年一样,本次研究生院细分为商科.法学.教育.工程.医学(分为研 ...

最新文章

  1. 低质量的勤奋,比懒惰更可怕
  2. 如何检查Go中是否存在文件?
  3. 《后浪》刷屏力图破壁二次元,B站还有哪些短板?
  4. python WindroseAxes 报错 has no attribute ‘Appender‘
  5. qq语音按住ctrl就静音怎么解决_excel图形处理技巧:怎么制作出地摊经济的街景...
  6. Eclipse快速导入继承类的方法
  7. php三次握手,深入理解TCP协议及其源代码——三次握手(示例代码)
  8. word模板中替换文本中自定义字符串生成月报
  9. FPGA 光纤传输IP核的使用
  10. 华硕笔记本怎么安装计算机,华硕笔记本电脑驱动怎么安装(一次装全,Win10)...
  11. 初级、中级、高级程序员的区别在哪里?
  12. 【点云处理技术之PCL】点云配准算法之NDT
  13. 北京-IT技术狗-顾名思义 解释一下当时随手写下这个名字
  14. 2017北京区域赛 G - Liaoning Ship’s Voyage【计算几何+bfs】
  15. 三维空间刚体运动——(1)齐次坐标与旋转矩阵
  16. 曹祖圣VB.NET视频学习工具
  17. 《浅谈-Android系统越用反应越慢的问题》
  18. 苹果Apple Pay优缺点全解析
  19. Autovue直连P6 EPPM
  20. OpenScap基础应用

热门文章

  1. 变革中的技术——2010-2011回顾与展望
  2. HttpClient下载图片实例
  3. 自然语言处理NLP星空智能对话机器人系列:论文解读 How Good is Your Tokenizer? (你的词元分析器有多好?多语言模型的单语性能研究)
  4. 离线地图瓦片下载工具
  5. html播放rtmp直播,video.js实现浏览器播放rtmp协议直播流的问题
  6. sqldependency 的使用
  7. edius裁剪快捷键_edius常用的快捷键有哪些-怎么设置快捷键-edius快捷键使用大全...
  8. vim插件介绍(一)之Tabular
  9. HTML CSS 个人网页设计 WEB前端大作业代码
  10. 2 测试方法与理论 - 软件测试