sbus协议和sbus反相器

SBUS是一种串口通信协议,常用于航模遥控器,使用一根信号线传输16通道数据。协议配置为100k波特率,8位数据位,2位停止位,偶校验。数据帧包含起始和结束字节,以及通道数据和标志位。遥控器的输出范围不同,如乐迪AT9S为300-1700,需要注意负逻辑,接收机需加硬件反相器处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、SBUS全称serial-bus,是一种串口通信协议,广泛应用于航模遥控器(接收机)中。只用一根信号线就能传输多达16通道的数据。

串口配置:
100k波特率,8位数据位,2位停止位,偶校验(EVEN),无控流,25个字节。
协议格式:(每帧数据25字节)
[startbyte] [data1][data2]…[data22][flags][endbyte]
startbyte=0x0f;
endbyte=0x00;
data1…data22: LSB(低位在前),对应16个通道(ch1-ch16),每个通道11bit(22 × 8=16 × 11);
flag位标志遥控器的通讯状态,使用的乐迪AT9S在遥控器通上的时候是0x00,断开的时候是0xC0,可以通过查询flag位来采取失控保护。
数据范围
航模遥控器输出的PWM值是1000~2000,中值为1500,sbus输出的会不一样,例如乐迪AT9S的范围为300 ~ 1700,中值1000,我使用的另一套数传设备的范围是341-1707,中值1024。大家注意用串口调试助手把数据读出来看看范围是多少。不然后面会出问题。
sbus的负逻辑
这个地方一定要万分注意,接收机接板子必须加硬件反相器,因为SBUS的信号是采用的负逻辑,也就是电平相反,不要试图在软件里面取反,因为软件里面只能操作数据位(记得串口配置里面的数据位8么),你是操作不了停止位、校验位啥的!!


2、 S-BUS其实是一种串口通信协议,采用100000的波特率,数据位点8bits,停止位点2bits,偶效验。 信号必须取反

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值