Files
ZhaTianRC/README.md

108 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 萝莉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