V1.5: 蓝牙设置前先硬复位模块(BT_RST/PA7 100ms),防模块状态异常进不了AT

This commit is contained in:
helei 2026-08-22 22:35:11 +08:00
parent 1347b4324c
commit c8e88b7271
3 changed files with 14 additions and 1 deletions

View File

@ -17,6 +17,11 @@
#define BLE_PC5_PORT GPIOB
#define BLE_PC5_PIN GPIO_PIN_0
/* BT_RST(PA7)高电平复位模块默认低电平工作system.c 已初始化为推挽低) */
#define BLE_RST_PORT GPIOA
#define BLE_RST_PIN GPIO_PIN_7
#define BLE_RST_HIGH() HAL_GPIO_WritePin(BLE_RST_PORT, BLE_RST_PIN, GPIO_PIN_SET)
#define BLE_RST_LOW() HAL_GPIO_WritePin(BLE_RST_PORT, BLE_RST_PIN, GPIO_PIN_RESET)
#define BLE_PC5_LOW() HAL_GPIO_WritePin(BLE_PC5_PORT, BLE_PC5_PIN, GPIO_PIN_RESET)
#define BLE_PC5_HIGH() HAL_GPIO_WritePin(BLE_PC5_PORT, BLE_PC5_PIN, GPIO_PIN_SET)
@ -99,6 +104,13 @@ void ble_setup_name(void)
return;
}
/* 先硬复位一次模块PA7 拉高 100ms防止模块状态异常时 PC5 进不了 AT 模式。
* */
BLE_RST_HIGH();
ble_delay(100);
BLE_RST_LOW();
ble_delay(1500); /* 等模块重启完成 */
/* AT 窗口内静音日志UART1 与模块共用,日志字节会污染模块的 AT 命令解析 */
log_mute(1);

View File

@ -70,7 +70,7 @@ extern UART_HandleTypeDef huart3;
/*===== 蓝牙名称配置 =====
* AT HLK-B40
* 10 */
#define BLE_NAME "Bt01"
#define BLE_NAME "NKY-BT-01"
/*===== 蓝牙发射功率AT+RFPOWER =====
* 1~18 18 8 1~3

View File

@ -206,3 +206,4 @@
进 AT 模式+查询无应答时重新拉 PC5 重试,最多 3 轮
- 断电时序微调:确认断电后先关 OLED 屏再发掉电消息(黑屏更快+给模组留更多发送电量)
- 断电时序改为:先发掉电消息(等OK) → 屏幕显示"发生掉电事件!"亮 3 秒 → 熄屏复位
- 蓝牙设置流程开头先硬复位模块BT_RST/PA7 拉高 100ms防模块状态异常时 PC5 进不了 AT 模式