大家好,今天我发表一篇关于sbus通信协议的解析,刚开始作者为啥要做这个东西呢,因为作者在2019年4月21日参加了广东举办的中国工程机器人大赛,做的是小型无人机,
作者用的是FS-i6遥控,刚开始的通信协议是飞控作者写好了,后来在我回到学校开始做飞思卡尔比赛的时候,突然想遥控飞卡车,哈哈哈,这玩起来肯定爽歪歪啊,初始时候我本来想用蓝牙手机遥控,这个太简单了,写几行代码,发送几个命令就ok了,但是后来想了想,手机遥控肯定手感不好啊,我不是有航模遥控器吗,就用它了,于是一不做二不休撸起袖头开始干,用FS的话有三个通信方式,ppm,sbus,pwm,用pwm接线太多直接pass用ppm捕获吗,算了还是用sbus吧,sbus通信速率远高于ppm,然后我就开始找资料,看别人写的代码,但是都失败了,我写了一天一夜的代码,晚上几乎没睡觉都在写,刚开始我是用k66单片机写的,没写成功,后来换了stm32f1搞,又搞了几个小时还是没搞出来什么,我用上位机看我输出的数字,老是不对,后来我去qq找大佬,大佬问我硬件有没有接对,我一看,我靠,sbus需用如下电路对电平反相,再接到串口接收的管脚。三极管可以用8050。


难受啊,搞了一天原来是电路错了,我赶快到实验室焊接板子,搞完之后我回来继续做,但是还是不对,printf打印出来的数据还是不对,我都想放弃了,但是没有,刚开始测试波形没问题的,下面是软件的问题了,下面该串口的初始化,串口配置为波特率100kbps( 100000 ),8位数据,偶校验(even),2位停止位,无流控。对应代码如下

好,这个搞定了,开始解析啦,解析代码如下

读取数据解决了,解析搞定了,但是还是不对,到底哪里问题呢?哦,原来是我代码格式写错了,真是细节决定成败,最后我终于改成功了,我后来移植到 k66上也成功了,至于解析的这块作者能力有限,看的是网上的教程,网站https://blog.csdn.net/wsptr/article/details/53795458?tdsourcetag=s_pcqq_aiomsg
我在这里就不在赘述了,总结下想完成sbus,1:sbus是串口接受的通信 ,接单片机rx.2:接反向电路。3:解析sbus.这些搞完之后就开始写自己想要的效果代码了,作者用在了遥控飞思卡尔车上,玩起来很快乐。

是不是很酷呀,还等啥,写个sbus来遥控吧。

MCU系列之-浅谈sbus通信协议(源码,原理图均有)相关推荐

  1. 红蓝对抗系列之浅谈蓝队反制红队的手法一二

    红蓝对抗系列之浅谈蓝队反制红队的手法一二 取证反查 针对ip 溯源一二 一般来说,红队大部分都是使用代理节点进行测试,假如我们捕获或者从样本里面分析拿到了真实ip ,那么以下操作场景就有用了,或者使用 ...

  2. 一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇

    https://www.cnblogs.com/harlanc/p/9693983.html 目录 OpenSL ES & AudioTrack 源码分析 创建播放器音频输出对象 配置并创建音 ...

  3. MVVM架构~knockoutjs系列之从Knockout.Validation.js源码中学习它的用法

    说在前 有时,我们在使用一个插件时,在网上即找不到它的相关API,这时,我们会很抓狂的,与其抓狂,还不如踏下心来,分析一下它的源码,事实上,对于JS这种开发语言来说,它开发的插件的使用方法都在它的源码 ...

  4. Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)

    知乎:逆向驿站 原文链接 CrackMe006 | 难度适中适合练手 |160个CrackMe深度解析(图文+视频+注册机源码) crackme006,依然是delphi的,而且没壳子,条线比较清晰, ...

  5. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

    转载自  Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 第1部分 ArrayList介绍 ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组.与 ...

  6. linux的进程/线程/协程系列3:查看linux内核源码——vim+ctags/find+grep

    linux的进程/线程/协程系列3:查看linux内核源码--vim+ctags/find+grep 前言 摘要: 1. 下载linux内核源码 2. 打标签方法:vim+ctags 2.1 安装vi ...

  7. vscode中安装webpack_leaflet-webpack 入门开发系列一初探篇(附源码下载)

    前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载 webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址w ...

  8. php手游服务端开发教程,【手游服务端】梦想海贼王 卡牌系列一键端服务端游戏源码+教程...

    [手游服务端]梦想海贼王 卡牌系列一键端服务端游戏源码+教程 游戏介绍: <梦想海贼王>是一款卡牌类手游,游戏以全球第一超人气动漫<海贼王>为题材,用Q版风格配合新奇多样的玩法 ...

  9. 详解5种红黑树的场景,从Linux内核谈到Nginx源码,听完醍醐灌顶丨Linux服务器开发丨Linux后端开发

    5种红黑树的场景,从Linux内核谈到Nginx源码,听完醍醐灌顶 1. 进程调度CFS的红黑树场景 2. 虚拟内存管理的红黑树场景 3. 共享内存slab的红黑树场景 视频讲解如下,点击观看: [干 ...

最新文章

  1. (转)C/C++ Linux 程序员必须了解的 10 个工具
  2. 马云致投资者公开信:大数据云计算是阿里未来十年核心战略之一
  3. Leetcode 14.最长公共前缀
  4. 一些关于爱情的心理学事实
  5. Windows10最新MySQL8.0.23安装教程(超级详细)
  6. php this db get,php – Codeigniter $this- db- get(),如何返回特定行的值?
  7. 基于JAVA+Servlet+JSP+MYSQL的会议管理系统
  8. java jaxb 格式化_XStream、JAXB 日期(Date)、数字(Number)格式化输出xml
  9. SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 及动态查询中的标识符函数QUOTENAME
  10. IIS_PHP5.3.x zend guard loader 的配置方法
  11. 第二次作业 时事点评
  12. SSM整合完整流程讲解
  13. win10程序员软件列表(持续更新中...)
  14. 前端入门篇(五十三)JS应用6打地鼠小游戏
  15. 深入理解操作系统实验——bomb lab(phase_4)
  16. eclipse的plugins导入hadoop-eclipse-plugin-2.6.0.jar后Preference下没有hadoop Map/Reduce的解决方法
  17. python中函数返回值为func 和func() 的区别
  18. Chrome内置的断网Javascript 小游戏脚本示范
  19. 音频单元组件服务参考(Audio Unit Component Services Reference)
  20. 美国交通事故分析(2017)(项目练习_5)

热门文章

  1. 网络安全-防守-护网
  2. 管理多租户环境之PDB快照
  3. AI照骗恐怖如斯!美女刷屏真假难辨,网友:AI网恋诈骗时代开启
  4. Ubuntu零基础教学-如何把Ubuntu20.04界面从英文修改为中文?| 超级详细,建议收藏
  5. 公交线路图查询系统c语言,公交路线查询系统(基于数据结构和C语言)完整
  6. 一键部署项目到服务器
  7. PTA 7-4 天不假年
  8. 【学习笔记】【Liblinear】
  9. Windows搭建Maven中央仓库
  10. Maven配置阿里云Maven中央仓库