admin f3df7276b2 feat: 长按返回键2s开关机功能
- 开机: 长按返回键2s开机,显示左侧Logo+右侧'Starting...'开机画面2秒
- 关机: 主页未连接接收机时长按返回键2s关机
  - 关闭OLED/LED/PWM/NRF24L01/USB/外设时钟 → STOP休眠
  - 唤醒后自动复位重启
- 已连接接收机时屏蔽关机,防止飞行中误操作
- 添加 Input_IsKeyHeldFor() 指定时长按键检测
- 添加 OLED_Off() 关闭显示
- 更新 README.md 文档
2026-06-25 23:19:31 +08:00
2026-06-25 20:58:13 +08:00
2026-06-25 20:58:13 +08:00
2026-06-25 18:43:16 +08:00
2026-06-25 20:58:13 +08:00
2026-06-25 20:58:13 +08:00
2026-06-25 20:58:13 +08:00

萝莉3代遥控器 (Loli3 RC)

基于STM32F103RBT6的开源航模遥控器固件。

硬件配置

  • MCU: STM32F103RBT6 (Cortex-M3, 128KB Flash, 20KB RAM)
  • 显示屏: SSD1306 128x64 OLED (硬件I2C, PB10/PB11)
  • 按键: 4个 (PB12/PB13/PB14/PB15: 上/下/确认/返回)
  • 输入: 16个ADC通道 (PC0-PC3, PA0-PA7, PC4-PC5, PB0-PB1)
  • 无线: NRF24L01+ (SPI: PB3/PB4/PB5, CE: PB7, CSN: PB6, IRQ: PD2)
  • PWM输出: 2路 (PB8/PB9)
  • LED: 3个 (PC6/PC7/PC8)
  • 串口: UART1 (PA9/PA10), UART3 (PC10/PC11)
  • USB: USB虚拟串口/Joystick (PA11/PA12)

功能特性

1. 多模型支持

  • 支持最多10个模型配置
  • 模型类型选择 (固定翼/车/船/多轴)
  • 每个模型独立的通道映射、混控配置

2. 通道系统

  • 16个输入通道支持ADC或按键自动识别
  • 每个通道可设置: 端点、反向、曲线
  • 8个可编程混控

3. 无线协议

  • NRF24L01+ 2.4G无线 (默认)
  • 支持CRFS协议 (后续实现)
  • 自动对频功能

4. UI界面

  • 主页值显示/回传显示
  • 完整的菜单系统
  • 中文支持

5. 特色功能

  • PWM输出可配置为: WS2812 LED / 普通LED / 振动
  • USB虚拟Joystick功能
  • 回传数据显示

项目结构

LoliRC/
├── Makefile           # 编译脚本
├── README.md          # 说明文档
└── src/
    ├── main.c         # 主程序
    ├── config.h       # 硬件配置
    ├── hal.h/.c       # HAL抽象层
    ├── oled.h/.c      # OLED驱动
    ├── key.h/.c       # 按键驱动
    ├── adc.h/.c       # ADC驱动
    ├── led.h/.c       # LED驱动
    ├── nrf24l01.h/.c  # NRF24L01驱动
    ├── eeprom.h/.c    # EEPROM存储
    ├── model.h/.c     # 模型配置管理
    ├── ui.h/.c        # UI界面系统
    ├── pwm.h/.c       # PWM输出驱动
    ├── ui/
    │   └── README.md  # UI设计说明
    └── WordStock.h    # 字库

编译与烧录

依赖

  • arm-none-eabi-gcc
  • OpenOCD 或 STM32CubeProgrammer

编译

cd LoliRC
make

烧录

使用STM32CubeProgrammer或OpenOCD烧录生成的hex/bin文件。

UI操作说明

开机

  • 长按返回键约2秒开机
  • 显示开机画面: 左侧为开机Logo右侧居中显示"Starting..."
  • 开机画面持续2秒后进入主页

主页

  • 显示各通道当前值
  • 长按OK键进入高频头配置
  • 长按BACK键切换值/回传显示
  • 短按OK键进入主菜单

关机

  • 在主页未连接接收机时长按返回键2秒关机
  • 关机流程: 关闭OLED → 关闭LED → 停止PWM → 关闭NRF24L01 → 关闭USB → 关闭外设时钟 → 进入STOP休眠模式
  • 唤醒后自动复位重启
  • 注意: 当遥控器已连接到接收机时,长按返回键不会关机,防止飞行中误操作

主菜单

  1. Model Select - 模型选择/新建/编辑/删除
  2. RF Config - 高频头配置
  3. Channel Map - 通道映射
  4. Mixer - 混控设置
  5. PWM Driver - PWM输出配置
  6. Home Settings - 主页设置

默认配置

  • NRF24L01频道: 60
  • 数据速率: 2Mbps
  • 对频短语: "LOVE"

许可证

MIT License

Description
炸天控
Readme MIT 13 MiB
Languages
C 97.9%
Assembly 1.9%
C++ 0.2%