Modularize main.c into rgb, event, database, ui, system, and app_manager modules
This commit is contained in:
49
App/config.h
49
App/config.h
@@ -1,10 +1,28 @@
|
||||
#ifndef __CONFIG_H__
|
||||
#define __CONFIG_H__
|
||||
|
||||
#include "stc32g.h"
|
||||
#include "intrins.h"
|
||||
|
||||
typedef unsigned char u8;
|
||||
typedef unsigned int u16;
|
||||
typedef unsigned long u32;
|
||||
|
||||
/* ====== 硬件引脚定义 (sbit) ====== */
|
||||
sbit MOTOR = P2^5; // 振动马达控制端 (推挽输出,与 SPI SCLK 物理共享引脚)
|
||||
sbit KEY_UP = P0^1; // 侧边按键 ▲ (高阻输入 + 上拉)
|
||||
sbit KEY_CONFIRM = P0^2; // 侧边按键 ■ (高阻输入 + 上拉)
|
||||
sbit KEY_DOWN = P0^3; // 侧边按键 ▼ (高阻输入 + 上拉)
|
||||
sbit KEY_SOS = P2^6; // 物理 SOS 求救按键 (高阻输入 + 上拉)
|
||||
sbit RGB_DIN = P2^3; // FCOB 幻彩灯条 DIN 控制线
|
||||
sbit SHUT = P2^2; // LR690L 射频芯片休眠/工作控制引脚 (低使能开启工作)
|
||||
sbit SGM_CTRL = P3^4; // SGM3833 PMIC 屏幕负压供电使能脚
|
||||
sbit LCD_RST = P1^0; // Truly AMOLED 屏幕复位脚 (RESET)
|
||||
sbit LCD_DCX = P1^1; // Truly AMOLED 屏幕数据/指令选择脚 (D/C)
|
||||
sbit LCD_SDI = P1^4; // Truly AMOLED 屏幕 SPI 数据脚 (MOSI)
|
||||
sbit LCD_SCL = P1^5; // Truly AMOLED 屏幕 SPI 时钟脚 (SCLK)
|
||||
sbit LCD_CS = P1^6; // Truly AMOLED 屏幕 SPI 片选脚 (CS)
|
||||
|
||||
/* ====== 系统状态 ====== */
|
||||
typedef enum {
|
||||
STATE_NORMAL,
|
||||
@@ -104,7 +122,38 @@ typedef struct {
|
||||
unsigned char name_gbk[16];
|
||||
} Sensor_Slot;
|
||||
|
||||
/* ====== 全局变量 extern 声明 ====== */
|
||||
extern SystemState current_state;
|
||||
extern u8 current_hour;
|
||||
extern u8 current_min;
|
||||
extern u8 current_sec;
|
||||
extern volatile u8 clock_updated;
|
||||
|
||||
extern u8 menu_select;
|
||||
extern u32 captured_addr;
|
||||
extern u8 captured_type;
|
||||
extern u8 alarm_sensor_slot;
|
||||
|
||||
extern Sensor_Slot xdata sensor_list[16];
|
||||
extern char *code sensor_names_fr[5];
|
||||
|
||||
|
||||
extern volatile u16 ms_tick;
|
||||
extern volatile u16 inactivity_timer; // 无操作闲置计时器
|
||||
extern volatile u32 pair_timeout_ms;
|
||||
extern volatile u16 alarm_timer_ms;
|
||||
extern volatile u16 motor_timer_ms;
|
||||
extern volatile bit alarm_flash_flag;
|
||||
|
||||
extern volatile u16 key_scan_timer;
|
||||
extern volatile u16 key_up_hold;
|
||||
extern volatile u16 key_down_hold;
|
||||
extern volatile u16 key_confirm_hold;
|
||||
extern volatile u16 key_sos_hold;
|
||||
extern volatile u16 comb_hold;
|
||||
|
||||
#define MAIN_Fosc 24000000UL
|
||||
#define CLONED_ADDR 0x37A86UL
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user