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

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

MCU系列之-浅谈sbus通信协议(源码,原理图均有)_第1张图片
难受啊,搞了一天原来是电路错了,我赶快到实验室焊接板子,搞完之后我回来继续做,但是还是不对,printf打印出来的数据还是不对,我都想放弃了,但是没有,刚开始测试波形没问题的,下面是软件的问题了,下面该串口的初始化,串口配置为波特率100kbps( 100000 ),8位数据,偶校验(even),2位停止位,无流控。对应代码如下
在这里插入图片描述
好,这个搞定了,开始解析啦,解析代码如下
MCU系列之-浅谈sbus通信协议(源码,原理图均有)_第2张图片
读取数据解决了,解析搞定了,但是还是不对,到底哪里问题呢?哦,原来是我代码格式写错了,真是细节决定成败,最后我终于改成功了,我后来移植到 k66上也成功了,至于解析的这块作者能力有限,看的是网上的教程,网站https://blog.csdn.net/wsptr/article/details/53795458?tdsourcetag=s_pcqq_aiomsg
我在这里就不在赘述了,总结下想完成sbus,1:sbus是串口接受的通信 ,接单片机rx.2:接反向电路。3:解析sbus.这些搞完之后就开始写自己想要的效果代码了,作者用在了遥控飞思卡尔车上,玩起来很快乐。
MCU系列之-浅谈sbus通信协议(源码,原理图均有)_第3张图片
是不是很酷呀,还等啥,写个sbus来遥控吧。

你可能感兴趣的:(串口通信,stm32,单片机,uart,bug)