|
|
@@ -291,6 +291,7 @@ int main(void)
|
|
|
printf("Device is ready\r\n");
|
|
|
printf("设备地址:0x%02X%02X\n", deviceInfo.loraDeviceAddress_H, deviceInfo.loraDeviceAddress_L);
|
|
|
uint8_t i = 0;
|
|
|
+ uint8_t ledShanshuo = 0;
|
|
|
// HAL_GPIO_WritePin(PowerLED_GPIO_Port, PowerLED_Pin, GPIO_PIN_RESET);//亮灯
|
|
|
// HAL_Delay(2000);
|
|
|
// HAL_GPIO_WritePin(PowerLED_GPIO_Port, PowerLED_Pin, GPIO_PIN_SET);//亮灯
|
|
|
@@ -303,7 +304,8 @@ int main(void)
|
|
|
/* USER CODE END WHILE */
|
|
|
|
|
|
/* USER CODE BEGIN 3 */
|
|
|
-
|
|
|
+ RTC_DateTimeTypeDef now;
|
|
|
+ RTC_GetDateTime(&hrtc, &now);
|
|
|
GPIO_PinState sosState = HAL_GPIO_ReadPin(SOS_KEY_GPIO_Port, SOS_KEY_Pin);//高为未按压,低为按下,优先级最高
|
|
|
GPIO_PinState powerState = HAL_GPIO_ReadPin(JUGE_PIN_GPIO_Port, JUGE_PIN_Pin);
|
|
|
// printf("SOS_KEY_Pin pin state = %d\r\n", sosState);
|
|
|
@@ -312,6 +314,11 @@ int main(void)
|
|
|
powerOff();
|
|
|
}
|
|
|
|
|
|
+ if (ledShanshuo != now.seconds) {
|
|
|
+ HAL_GPIO_TogglePin(PowerLED_GPIO_Port, PowerLED_Pin);
|
|
|
+ ledShanshuo = now.seconds;
|
|
|
+ }
|
|
|
+
|
|
|
if (!sosState) {
|
|
|
HAL_GPIO_WritePin(PowerLED_GPIO_Port, PowerLED_Pin, GPIO_PIN_SET);
|
|
|
E52_Heartbeat_Fun();
|
|
|
@@ -348,7 +355,6 @@ int main(void)
|
|
|
continue;
|
|
|
// HAL_Delay(000);
|
|
|
}
|
|
|
- HAL_GPIO_TogglePin(PowerLED_GPIO_Port, PowerLED_Pin);
|
|
|
|
|
|
// 命令为IDLE,且步骤为STEP_INIT 说明有新数据。
|
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == IDLE && GET_STEP(deviceInfo.commandFromCloud) == STEP_VERIFY && sosState) {
|
|
|
@@ -361,7 +367,7 @@ int main(void)
|
|
|
if (!deviceInfo.loraSendSuccessFlag) {
|
|
|
E52_Heartbeat_Fun();
|
|
|
}
|
|
|
- HAL_Delay(3000);
|
|
|
+ HAL_Delay(10*1000);
|
|
|
}
|
|
|
|
|
|
// if (SOS_key_struct.sosCheckActive) {
|