开启辅助访问 天气与日历

登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 672|回复: 0

航模遥控器通信说明

[复制链接]

83

主题

86

帖子

1030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1030

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2025-3-31 16:09:21 | 显示全部楼层 |阅读模式 来自 中国陕西西安
波特率:100000

数据位:9位

校验:Even

停止位:1  【32单片机如果设置Even校验,停止位需要配置为2,其他控制器按照实际处理】

uint16_t CH[18];  // 通道值

帧头 buf[0]:0x0F
遥控器离线和在线判断:buf[23] 0表示在线,否则是离线
  1. //以下是按遥控器的左手模式规定
  2.     //MINI6C 右摇杆左右方向:若D/R下推【600(min)~1000(center)~1400(max)】,若D/R上推【200(min)~1000(center)~1800(max)】
  3.     CH[0] = ((int16_t)buf[ 1] >> 0 | ((int16_t)buf[ 2] << 8)) & 0x07FF;
  4.     //MINI6C 左摇杆上下方向:若D/R下推【600(min)~1000(center)~1400(max)】,若D/R上推【200(min)~1000(center)~1800(max)】
  5.     CH[1] = ((int16_t)buf[ 2] >> 3 | ((int16_t)buf[ 3] << 5)) & 0x07FF;
  6.     //MINI6C 右摇杆上下方向:【200(min)~1000(center)~1800(max)】
  7.     CH[2] = ((int16_t)buf[ 3] >> 6 | ((int16_t)buf[ 4] << 2) | (int16_t)buf[ 5] << 10) & 0x07FF;
  8.     //MINI6C 左摇杆左右方向:若D/R下推【600(min)~1000(center)~1400(max)】,若D/R上推【200(min)~1000(center)~1800(max)】
  9.     CH[3] = ((int16_t)buf[ 5] >> 1 | ((int16_t)buf[ 6] << 7)) & 0x07FF;
  10.     //MINI6C 遥控面板上CH.5的三挡开关,200/1000/1800
  11.     CH[4] = ((int16_t)buf[ 6] >> 4 | ((int16_t)buf[ 7] << 4)) & 0x07FF;
  12.     //MINI6C 遥控面板上CH.6的三挡开关,200/1000/1800
  13.     CH[5] = ((int16_t)buf[ 7] >> 7 | ((int16_t)buf[ 8] << 1) | (int16_t)buf[9] << 9) & 0x07FF;
  14.     CH[ 6] = ((int16_t)buf[9] >> 2 | ((int16_t)buf[10] << 6)) & 0x07FF;
  15.     CH[ 7] = ((int16_t)buf[10] >> 5 | ((int16_t)buf[11] << 3)) & 0x07FF;
  16.     CH[ 8] = ((int16_t)buf[12] << 0 | ((int16_t)buf[13] << 8)) & 0x07FF;
  17.     CH[ 9] = ((int16_t)buf[13] >> 3 | ((int16_t)buf[14] << 5)) & 0x07FF;
  18.     CH[10] = ((int16_t)buf[14] >> 6 | ((int16_t)buf[15] << 2)  | (int16_t)buf[16] << 10) & 0x07FF;
  19.     CH[11] = ((int16_t)buf[16] >> 1 | ((int16_t)buf[17] << 7)) & 0x07FF;
  20.     CH[12] = ((int16_t)buf[17] >> 4 | ((int16_t)buf[18] << 4)) & 0x07FF;
  21.     CH[13] = ((int16_t)buf[18] >> 7 | ((int16_t)buf[19] << 1)  | (int16_t)buf[20] <<  9) & 0x07FF;
  22.     CH[14] = ((int16_t)buf[20] >> 2 | ((int16_t)buf[21] << 6)) & 0x07FF;
  23.     CH[15] = ((int16_t)buf[21] >> 5 | ((int16_t)buf[22] << 3)) & 0x07FF;
复制代码






您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Geek Planet ( 陕ICP备19010480号 )

GMT+8, 2025-5-9 20:39 , Processed in 0.100970 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表