zoukankan      html  css  js  c++  java
  • STM32 解析futaba S-bus协议

    S-bus为futaba使用的串行通信协议。实际上为串口通信。但是有几点需要注意:

    • 在大端小端上,网上资料都说的不是很清楚;
    • 跟TTL串口信号相比,S-bus的逻辑电平是反的,需用如下电路对电平反相,再借到串口接收的Rx管脚就可以了

     

    一、协议说明:串口配置为波特率100kbps,8位数据,偶校验(even),2位停止位,无流控。

    链接https://mbed.org/users/Digixx/notebook/futaba-s-bus-controlled-by-mbed/说明了S-bus帧格式。

    每帧25个字节,按照如下顺序排列: [startbyte] [data1] [data2] .... [data22] [flags][endbyte]

    起始字节startbyte = 11110000b (0xF0),但实际上用STM32(据说ARM核)收到的是0x0F。

    中间22个字节就是16个通道的数据了,为什么是16个通道?因为22x8=11x16,每个通道用11bit表示,范围是0-2047。

    flags的结构如下所示:

    flags:

    bit7 = ch17 = digital channel (0x80)
    bit6 = ch18 = digital channel (0x40)
    bit5 = Frame lost, equivalent red LED on receiver (0x20)
    bit4 = failsafe activated (0x10)
    bit3 = n/a
    bit2 = n/a
    bit1 = n/a
    bit0 = n/a

    endbyte为0x00。

    endbyte为0x04 0x14 0x24 0x34 循环。

    头  1   2   3   4   5   6   7   8   9   10  11 12 13 14 15 16 17 18 19 20 21 22 fg  尾
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 04
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 14
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 24
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 34
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 04
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 14
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 24
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 34
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 04
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 14
    0F 00 34 1F A8 09 08 6A 50 03 10 80 00 04 20 00 01 08 07 38 00 10 80 00 24

  • 相关阅读:
    Redis 发布与订阅模式
    JS回调函数全解析教程
    如何让你的SQL运行得更快
    Apache设置禁止访问目录
    Ext.Ajax.request提交实现waitMsg效果
    sublime的快捷键整理
    Sublime Text 2插件[这个不错哦]
    mysql如何开启对外连接?
    Javascript之旅——终点站:困惑的settimeout
    Javascript之旅——第十一站:原型也不好理解?
  • 原文地址:https://www.cnblogs.com/qiyuexin/p/7073388.html
Copyright © 2011-2022 走看看