|
@@ -20,17 +20,15 @@
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
/* Includes ------------------------------------------------------------------*/
|
|
|
#include "main.h"
|
|
#include "main.h"
|
|
|
#include "stm32f1xx_it.h"
|
|
#include "stm32f1xx_it.h"
|
|
|
|
|
+/* Private includes ----------------------------------------------------------*/
|
|
|
|
|
+/* USER CODE BEGIN Includes */
|
|
|
|
|
|
|
|
|
|
+#include <locale.h>
|
|
|
#include <stdio.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include "string.h"
|
|
#include "string.h"
|
|
|
#include "E104-BT5005A.h"
|
|
#include "E104-BT5005A.h"
|
|
|
#include "E52.h"
|
|
#include "E52.h"
|
|
|
-/* Private includes ----------------------------------------------------------*/
|
|
|
|
|
-/* USER CODE BEGIN Includes */
|
|
|
|
|
-
|
|
|
|
|
-#include <locale.h>
|
|
|
|
|
-
|
|
|
|
|
#include "RTC_SLEEP.h"
|
|
#include "RTC_SLEEP.h"
|
|
|
|
|
|
|
|
/* USER CODE END Includes */
|
|
/* USER CODE END Includes */
|
|
@@ -267,6 +265,7 @@ void TIM4_IRQHandler(void)
|
|
|
|
|
|
|
|
/* USER CODE END TIM4_IRQn 0 */
|
|
/* USER CODE END TIM4_IRQn 0 */
|
|
|
HAL_TIM_IRQHandler(&htim4);
|
|
HAL_TIM_IRQHandler(&htim4);
|
|
|
|
|
+ /* USER CODE BEGIN TIM4_IRQn 1 */
|
|
|
// printf("定时器测试\r\n");
|
|
// printf("定时器测试\r\n");
|
|
|
deviceInfo.timeCount++;
|
|
deviceInfo.timeCount++;
|
|
|
if (GET_CMD(deviceInfo.commandFromCloud) == REQUEST_BLUETOOTH_DATA) {
|
|
if (GET_CMD(deviceInfo.commandFromCloud) == REQUEST_BLUETOOTH_DATA) {
|
|
@@ -274,8 +273,6 @@ void TIM4_IRQHandler(void)
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, REQUEST_BLUETOOTH_DATA_SEND);
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, REQUEST_BLUETOOTH_DATA_SEND);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- /* USER CODE BEGIN TIM4_IRQn 1 */
|
|
|
|
|
-
|
|
|
|
|
/* USER CODE END TIM4_IRQn 1 */
|
|
/* USER CODE END TIM4_IRQn 1 */
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -288,6 +285,7 @@ void USART2_IRQHandler(void)
|
|
|
|
|
|
|
|
/* USER CODE END USART2_IRQn 0 */
|
|
/* USER CODE END USART2_IRQn 0 */
|
|
|
HAL_UART_IRQHandler(&huart2);
|
|
HAL_UART_IRQHandler(&huart2);
|
|
|
|
|
+ /* USER CODE BEGIN USART2_IRQn 1 */
|
|
|
|
|
|
|
|
// 检测空闲中断
|
|
// 检测空闲中断
|
|
|
if (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_IDLE))
|
|
if (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_IDLE))
|
|
@@ -329,8 +327,6 @@ void USART2_IRQHandler(void)
|
|
|
HAL_UART_Receive_DMA(&huart2, rx_buf_uart2, sizeof(rx_buf_uart2));
|
|
HAL_UART_Receive_DMA(&huart2, rx_buf_uart2, sizeof(rx_buf_uart2));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /* USER CODE BEGIN USART2_IRQn 1 */
|
|
|
|
|
-
|
|
|
|
|
/* USER CODE END USART2_IRQn 1 */
|
|
/* USER CODE END USART2_IRQn 1 */
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -373,52 +369,16 @@ void USART3_IRQHandler(void)
|
|
|
/**
|
|
/**
|
|
|
* @brief This function handles EXTI line[15:10] interrupts.
|
|
* @brief This function handles EXTI line[15:10] interrupts.
|
|
|
*/
|
|
*/
|
|
|
-void EXTI15_10_IRQHandler(void) {
|
|
|
|
|
|
|
+void EXTI15_10_IRQHandler(void)
|
|
|
|
|
+{
|
|
|
/* USER CODE BEGIN EXTI15_10_IRQn 0 */
|
|
/* USER CODE BEGIN EXTI15_10_IRQn 0 */
|
|
|
|
|
|
|
|
/* USER CODE END EXTI15_10_IRQn 0 */
|
|
/* USER CODE END EXTI15_10_IRQn 0 */
|
|
|
HAL_GPIO_EXTI_IRQHandler(SOS_KEY_Pin);
|
|
HAL_GPIO_EXTI_IRQHandler(SOS_KEY_Pin);
|
|
|
- // printf("I AM SOS KEY\r\n");
|
|
|
|
|
- // RTC_DateTimeTypeDef currentDT;
|
|
|
|
|
- // // 读取当前时间日期
|
|
|
|
|
- // RTC_GetDateTime(&hrtc, ¤tDT);
|
|
|
|
|
- //
|
|
|
|
|
- // if (SOS_key_struct.sosCheckActive == 0) {
|
|
|
|
|
- // // 第一次触发,记录时间
|
|
|
|
|
- // firstPressTime = currentDT;
|
|
|
|
|
- // SOS_key_struct.SOS_key_Count = 1;
|
|
|
|
|
- // SOS_key_struct.sosCheckActive = TRUE;
|
|
|
|
|
- // } else {
|
|
|
|
|
- // // 后续触发,只计数
|
|
|
|
|
- // SOS_key_struct.SOS_key_Count++;
|
|
|
|
|
- // }
|
|
|
|
|
- //
|
|
|
|
|
- // printf("当前时间: %02X:%02X:%02X\n",
|
|
|
|
|
- // currentDT.hours, currentDT.minutes, currentDT.seconds);
|
|
|
|
|
- // // printf("当前日期: 20%02X年%02X月%02X日 星期%d\n",
|
|
|
|
|
- // // currentDT.year, currentDT.month, currentDT.date, currentDT.weekday);
|
|
|
|
|
- //
|
|
|
|
|
- // printf("第一次按下时间: %02X:%02X:%02X\n",
|
|
|
|
|
- // firstPressTime.hours, firstPressTime.minutes, firstPressTime.seconds);
|
|
|
|
|
- // printf("第一次按下日期: 20%02X年%02X月%02X日 星期%d\n",
|
|
|
|
|
- // firstPressTime.year, firstPressTime.month, firstPressTime.date, firstPressTime.weekday);
|
|
|
|
|
-
|
|
|
|
|
- // 触发第一次中断 ,记录第一次按压时间
|
|
|
|
|
- // 通知主函数,开始计时
|
|
|
|
|
- // 主函数中循检测,当前时间与第一次时间间隔是否超过5秒
|
|
|
|
|
- // 如果超过五秒停止检测,并判断按压次数,如果超过5次,则认为是SOS,并停止检测
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
- // 打印当前时间日期
|
|
|
|
|
- // printf("当前时间: %02X:%02X:%02X\n",
|
|
|
|
|
- // currentDT.hours, currentDT.minutes, currentDT.seconds);
|
|
|
|
|
- // printf("当前日期: 20%02X年%02X月%02X日 星期%d\n",
|
|
|
|
|
- // currentDT.year, currentDT.month, currentDT.date, currentDT.weekday);
|
|
|
|
|
-
|
|
|
|
|
/* USER CODE BEGIN EXTI15_10_IRQn 1 */
|
|
/* USER CODE BEGIN EXTI15_10_IRQn 1 */
|
|
|
|
|
|
|
|
/* USER CODE END EXTI15_10_IRQn 1 */
|
|
/* USER CODE END EXTI15_10_IRQn 1 */
|
|
|
-
|
|
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @brief This function handles RTC alarm interrupt through EXTI line 17.
|
|
* @brief This function handles RTC alarm interrupt through EXTI line 17.
|
|
@@ -429,9 +389,8 @@ void RTC_Alarm_IRQHandler(void)
|
|
|
|
|
|
|
|
/* USER CODE END RTC_Alarm_IRQn 0 */
|
|
/* USER CODE END RTC_Alarm_IRQn 0 */
|
|
|
HAL_RTC_AlarmIRQHandler(&hrtc);
|
|
HAL_RTC_AlarmIRQHandler(&hrtc);
|
|
|
- printf("hello world\r\n");
|
|
|
|
|
/* USER CODE BEGIN RTC_Alarm_IRQn 1 */
|
|
/* USER CODE BEGIN RTC_Alarm_IRQn 1 */
|
|
|
-
|
|
|
|
|
|
|
+ printf("hello world\r\n");
|
|
|
/* USER CODE END RTC_Alarm_IRQn 1 */
|
|
/* USER CODE END RTC_Alarm_IRQn 1 */
|
|
|
}
|
|
}
|
|
|
|
|
|