# 萝莉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 ### 编译 ```bash cd LoliRC make ``` ### 烧录 使用STM32CubeProgrammer或OpenOCD烧录生成的hex/bin文件。 ## UI操作说明 ### 主页 - 显示各通道当前值 - 长按OK键进入高频头配置 - 长按BACK键切换值/回传显示 - 短按OK键进入主菜单 ### 主菜单 1. Model Select - 模型选择/新建/编辑/删除 2. RF Config - 高频头配置 3. Channel Map - 通道映射 4. Mixer - 混控设置 5. PWM Driver - PWM输出配置 6. Home Settings - 主页设置 ## 默认配置 - NRF24L01频道: 60 - 数据速率: 2Mbps - 对频短语: "LOVE" ## 许可证 MIT License