日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SBUS协议

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SBUS协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SBUS

1.串口配置:

100k波特率,
8位數據位(在stm32中要選擇9位),
偶校驗(EVEN),
2位停止位,
無控流,25個字節,

2.協議格式:(8字節)

[startbyte] [data1][data2]…[data22] [flags] [endbyte]
startbyte=0x0f;
endbyte=0x00;
flags標志位我沒有用到;
data1…data22:對應16個通道(ch1-ch16),每個通道11bit(228=1611=176);
數據范圍在0-2047之間,基本上是1102~1927,中值為1500;ch1的11位=data2的低3位+data1的8位;
例如:data1=00110110,data2=11001111;
這時ch1=111 00110110=1846;通道1 的值就為1846;
ch2=data3的低6位+data2的高5位;
ch3=data5的低1位+data4的8位+data3的高2位;
ch4=4 7;
ch5=7 4;
ch6=2 8 1;
ch7=5 6;
ch8=8 3;
ch9=6 5;
ch10=1 8 2;
ch11=4 7;
ch12=7 4;
ch13=2 8 1;
ch14=5 6;
ch15=8 3;
ch16=6 5;

//12通道遙控器代碼rc->ch1 = (buff[2]<<8 | buff[1] ) & 0x07FF;rc->ch1 -= 1002;rc->ch2 = (buff[2]>>3 | buff[3]<<5 ) & 0x07FF;rc->ch2 -= 1002;rc->ch3 = (buff[3]>>6 | buff[4]<<2 | buff[5]<<10) & 0x07FF;rc->ch3 -= 1002;rc->ch4 = (buff[5]>>1 | buff[6]<<7) & 0x07FF; rc->ch4 -= 1002;rc->switch_E = (buff[6]>>4 | buff[7]<<4 ) & 0x07FF;rc->switch_E = (rc->switch_E-20 ) /100;rc->switch_G = (buff[9]<<9 | buff[8]<<1 | buff[8]>>7) & 0x07FF ;rc->switch_G = (rc->switch_G-20 ) /100;rc->switch_H = (buff[9]>>2 | buff[10]<<6) & 0x07FF;rc->switch_H=(rc->switch_H-20)/100;rc->switch_F =(buff[11]<<3 | buff[10]>>7) & 0x07FF ;rc->switch_F=(rc->switch_F-20)/100;rc->Key.A = ( buff[12] <<5 | buff[11] >> 3 ) & 0x07FF ; rc->Key.A /=1600;rc->Key.B = ( buff[14] <<10 | buff[13] << 2 | buff[12] >>6 ) & 0x07FF ;rc->Key.B /=1600;rc->Key.C = ( buff[15] <<7 | buff[14] >> 1 ) & 0x07FF ;rc->Key.C /=1600;rc->Key.D = ( buff[16] <<4 | buff[14] >> 4 ) & 0x07FF ;rc->Key.D /=1600;
3.硬件電路;

4.控制頻率(兩種模式)
  • 高速模式:每隔7ms一幀數據,因為兩幀的間隔只有超過3ms,才會被接受;而根據波特率計算一下,發送25字節需要的時間+3~4ms=7ms
  • 普通模式:每隔14ms一幀數據;

總結

以上是生活随笔為你收集整理的SBUS协议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。