99 lines
4.2 KiB
C
99 lines
4.2 KiB
C
/*****************************************************************
|
|
* 萝莉3代遥控器 - 硬件引脚配置
|
|
* MCU: STM32F103RBT6 (LQFP64)
|
|
*
|
|
* 引脚编码: (port << 8) | pin
|
|
* port: 0=GPIOA, 1=GPIOB, 2=GPIOC, 3=GPIOD
|
|
* pin: 0-15
|
|
*
|
|
* 示例: PA0=0x000, PB1=0x101, PC2=0x202
|
|
*****************************************************************/
|
|
#ifndef CONFIG_H
|
|
#define CONFIG_H
|
|
|
|
/* ================================================================
|
|
* ADC 输入引脚 (16通道)
|
|
* ADC_IN0~15 可在 OLED 菜单中配置映射通道、混控
|
|
* 支持自动检测按键/ADC 输入类型
|
|
* ================================================================ */
|
|
#define ADC_IN0 0x200 /* PC0 - ADC12_IN10 */
|
|
#define ADC_IN1 0x201 /* PC1 - ADC12_IN11 */
|
|
#define ADC_IN2 0x202 /* PC2 - ADC12_IN12 */
|
|
#define ADC_IN3 0x203 /* PC3 - ADC12_IN13 */
|
|
#define ADC_IN4 0x000 /* PA0 - ADC12_IN0 */
|
|
#define ADC_IN5 0x001 /* PA1 - ADC12_IN1 */
|
|
#define ADC_IN6 0x002 /* PA2 - ADC12_IN2 */
|
|
#define ADC_IN7 0x003 /* PA3 - ADC12_IN3 */
|
|
#define ADC_IN8 0x004 /* PA4 - ADC12_IN4 */
|
|
#define ADC_IN9 0x005 /* PA5 - ADC12_IN5 */
|
|
#define ADC_IN10 0x006 /* PA6 - ADC12_IN6 */
|
|
#define ADC_IN11 0x007 /* PA7 - ADC12_IN7 */
|
|
#define ADC_IN12 0x204 /* PC4 - ADC12_IN14 */
|
|
#define ADC_IN13 0x205 /* PC5 - ADC12_IN15 */
|
|
#define ADC_IN14 0x100 /* PB0 - ADC12_IN8 */
|
|
#define ADC_IN15 0x101 /* PB1 - ADC12_IN9 */
|
|
|
|
/* ================================================================
|
|
* OLED 屏幕 (128x64 SSD1306, 硬件 I2C)
|
|
* ================================================================ */
|
|
#define OLED_SDA 0x10B /* PB11 - I2C2_SDA */
|
|
#define OLED_SCL 0x10A /* PB10 - I2C2_SCL */
|
|
|
|
/* ================================================================
|
|
* 操作按键 (上拉输入, 按下低电平)
|
|
* 上/下/确认/返回
|
|
* 确认长按 -> 高频头配置页
|
|
* 返回长按 -> 主页值/回传切换
|
|
* ================================================================ */
|
|
#define KEY_IN1 0x10C /* PB12 - 上 */
|
|
#define KEY_IN2 0x10D /* PB13 - 下 */
|
|
#define KEY_IN3 0x10E /* PB14 - 确认/菜单 */
|
|
#define KEY_IN4 0x10F /* PB15 - 返回/回传 */
|
|
|
|
/* ================================================================
|
|
* PWM 输出 (TIM4 CH3/CH4)
|
|
* 可配置为: WS2812 / LED 呼吸灯 / 振动电机
|
|
* ================================================================ */
|
|
#define PWM_OUT1 0x108 /* PB8 - TIM4_CH3 */
|
|
#define PWM_OUT2 0x109 /* PB9 - TIM4_CH4 */
|
|
|
|
/* ================================================================
|
|
* LED 状态指示灯
|
|
* LED_OUT1: 系统状态 - 开机常亮
|
|
* LED_OUT2: NRF24L01 状态 - 未连接慢闪/配对快闪/已连接常亮
|
|
* LED_OUT3: CRFS 状态 - 未连接慢闪/配对快闪/已连接常亮
|
|
* ================================================================ */
|
|
#define LED_OUT1 0x206 /* PC6 */
|
|
#define LED_OUT2 0x207 /* PC7 */
|
|
#define LED_OUT3 0x208 /* PC8 */
|
|
|
|
/* ================================================================
|
|
* NRF24L01+ 2.4G 无线模块 (硬件 SPI1)
|
|
* 默认开启,可在 OLED 菜单中关闭
|
|
* ================================================================ */
|
|
#define NRF24L01_CE 0x107 /* PB7 - 输出 */
|
|
#define NRF24L01_CSN 0x106 /* PB6 - 输出 (SPI 片选) */
|
|
#define NRF24L01_SCK 0x103 /* PB3 - SPI1_SCK */
|
|
#define NRF24L01_MOSI 0x105 /* PB5 - SPI1_MOSI */
|
|
#define NRF24L01_MISO 0x104 /* PB4 - SPI1_MISO */
|
|
#define NRF24L01_IRQ 0x302 /* PD2 - 外部中断 */
|
|
|
|
/* ================================================================
|
|
* 串口
|
|
* UART1: 可选接收外部 SBUS 信号 (OLED 菜单中开启)
|
|
* UART3: 发送 CRFS 信号 (OLED 菜单中开启)
|
|
* ================================================================ */
|
|
#define RX1 0x00A /* PA10 - USART1_RX */
|
|
#define TX1 0x009 /* PA9 - USART1_TX */
|
|
#define RX3 0x20B /* PC11 - USART3_RX */
|
|
#define TX3 0x20A /* PC10 - USART3_TX */
|
|
|
|
/* ================================================================
|
|
* USB (虚拟 HID Joystick)
|
|
* 连接电脑自动识别为飞行模拟器外设
|
|
* ================================================================ */
|
|
#define USB_DM 0x00B /* PA11 - USB_DM */
|
|
#define USB_DP 0x00C /* PA12 - USB_DP */
|
|
|
|
#endif /* CONFIG_H */
|