feat: 校准电池电压与ADC2充电检测,重构RGB为Bitbang翻转驱动,并修复RTC晶振起振问题
This commit is contained in:
10
App/main.c
10
App/main.c
@@ -167,13 +167,15 @@ void main(void)
|
||||
WDT_CONTR = 0x00; // 关闭看门狗定时器
|
||||
|
||||
// ====== 硬件各模块基础初始化 ======
|
||||
GPIO_Init(); // 配置各个引脚的推挽输出/准双向模式及内部上拉
|
||||
GPIO_Init(); // 配置各个引脚的推挽输出/准双向模式及内部上拉 (锁存 PWR_HOLD=1)
|
||||
RGB_Send(0, 0, 0, 0, 0, 0); // 【首要修正】:上电第一时间强制发送 0 码关闭灯条,熄灭上电暂态引起的随机白光!
|
||||
RF_Init(); // 初始化射频芯片各引脚控制
|
||||
Delay_ms(500); // 软启动延时,等待供电电容稳定
|
||||
LCD_Init(); // 初始化 LHS114TC-IF03 (ST7789V) 屏幕控制寄存器序列并开启背光
|
||||
Uart1_Init(); // 初始化串口 1 波特率 115200 供调试日志
|
||||
Uart_SendString("Wristband System Initialized!\r\n");
|
||||
|
||||
Self_Test(); // 执行上电硬件自检 (PWR_HOLD锁存、P0.3 ADC按键常态、P1.3 电池电量)
|
||||
Load_Database(); // 从 IAP Flash 第 254 扇区读取所有已绑定的传感器数据至 RAM
|
||||
|
||||
/* 步骤 1: 初始化事件环形缓冲区队列 */
|
||||
@@ -192,6 +194,12 @@ void main(void)
|
||||
|
||||
// ====== 主循环 ======
|
||||
while (1) {
|
||||
/* 0. 检查主循环按键定时标志 (由 1ms 中断置位,主循环响应清除并处理) */
|
||||
if (key_scan_flag) {
|
||||
key_scan_flag = 0;
|
||||
Event_KeyScan_Poll();
|
||||
}
|
||||
|
||||
/* 1. 串口非阻塞指令捕获 -> 装配为事件方式入队 */
|
||||
cmd = Uart_RxChar();
|
||||
if (cmd != '\0') {
|
||||
|
||||
Reference in New Issue
Block a user