Forráskód Böngészése

配置完后,必须添加复位,否则不工作

xuxinyi 1 hónapja
szülő
commit
cf9902eb00
1 módosított fájl, 26 hozzáadás és 7 törlés
  1. 26 7
      Core/Src/main.c

+ 26 - 7
Core/Src/main.c

@@ -262,7 +262,8 @@ int main(void)
   /* USER CODE BEGIN 2 */
 
   powerOn();
-  E52_CtlPowerOn_Fun();
+  // E52_CtlPowerOn_Fun();
+  E52_CtlPowerOff_Fun();
 
   // 启动 USART2 DMA 接收
   HAL_UART_Receive_DMA(&huart3, rx_buf, sizeof(rx_buf));
@@ -271,20 +272,38 @@ int main(void)
   __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE);
   Flash_Read_LoraAddr(&deviceInfo.loraDeviceAddress_H, &deviceInfo.loraDeviceAddress_L);
   printf("deviceInfo.loraDeviceAddress_H:%02X,deviceInfo.loraDeviceAddress_L:%02X\r\n", deviceInfo.loraDeviceAddress_H, deviceInfo.loraDeviceAddress_L);
+  HAL_Delay(4000);
   E104_BT5005A_ROLE1_Fun();
   HAL_Delay(2000);
+
   E104_BT5005A_NAME_Fun();
-  HAL_Delay(4000);
+  HAL_Delay(2000);
+
   E104_BT5005A_ADVINTV_Fun();
-  HAL_Delay(4000);
+  HAL_Delay(2000);
+
   E104_BT5005A_ADV_Fun();
-  HAL_Delay(4000);
-  E104_BT5005A_MAC_Fun();
-  HAL_Delay(4000);
+  HAL_Delay(2000);
+
+  // E104_BT5005A_SLEEP_Fun();
+  // HAL_Delay(2000);
+
+  printf("初始化复位\r\n");
+  E104_BT5005A_RESET_Fun();
+  HAL_Delay(2000);
+  E104_BT5005A_SLEEP_Fun();
+  HAL_Delay(2000);
 
+  __HAL_RCC_PWR_CLK_ENABLE();
+  // 进入睡眠模式,等待中断唤醒
+  // HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
+  // HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
+  HAL_PWR_EnterSTANDBYMode();//这个是进入待机模式
+  // 醒来后恢复 SysTick
+  HAL_ResumeTick();
 
   while (TRUE) {
-    HAL_Delay(1000);
+    // HAL_Delay(1000);
   }
   if (deviceInfo.loraDeviceAddress_H == 0xFF || deviceInfo.loraDeviceAddress_L == 0xFF || deviceInfo.loraDeviceAddress_H == 0x00 || deviceInfo.loraDeviceAddress_L == 0x00) { // 未设置Lora地址,应该是初次启动,配置Lora地址蓝牙等
     HAL_Delay(4000);