From 45ad73e40acb70c386b4b0324893530cb3d17626 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 19 六月 2024 09:46:21 +0800
Subject: [PATCH] 实测还是会有死机问题。时间很长不好复现

---
 Src/stm32l0xx_it.c |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/Src/stm32l0xx_it.c b/Src/stm32l0xx_it.c
index 1abae6b..96f8b50 100644
--- a/Src/stm32l0xx_it.c
+++ b/Src/stm32l0xx_it.c
@@ -43,9 +43,10 @@
 /* Private variables ---------------------------------------------------------*/
 /* USER CODE BEGIN PV */
 float nomove_count=0;
-volatile uint8_t rx_len ;  //接收一帧数据的长度
+volatile uint16_t rx_len ;  //接收一帧数据的长度
 volatile uint8_t recv_end_flag; //一帧数据接收完成标志
 extern uint8_t GPS_GGAdate[200];
+
 /* USER CODE END PV */
 
 /* Private function prototypes -----------------------------------------------*/
@@ -66,6 +67,7 @@
 extern DMA_HandleTypeDef hdma_usart1_tx;
 extern UART_HandleTypeDef hlpuart1;
 extern UART_HandleTypeDef huart1;
+extern TIM_HandleTypeDef htim6;
 /* USER CODE BEGIN EV */
 
 /* USER CODE END EV */
@@ -172,6 +174,7 @@
   /* USER CODE BEGIN EXTI4_15_IRQn 0 */
 
   /* USER CODE END EXTI4_15_IRQn 0 */
+  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9);
   HAL_GPIO_EXTI_IRQHandler(RADIO_DIO1_Pin);
   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_12);
   /* USER CODE BEGIN EXTI4_15_IRQn 1 */
@@ -224,6 +227,20 @@
 }
 
 /**
+  * @brief This function handles TIM6 global interrupt.
+  */
+void TIM6_IRQHandler(void)
+{
+  /* USER CODE BEGIN TIM6_IRQn 0 */
+
+  /* USER CODE END TIM6_IRQn 0 */
+  HAL_TIM_IRQHandler(&htim6);
+  /* USER CODE BEGIN TIM6_IRQn 1 */
+
+  /* USER CODE END TIM6_IRQn 1 */
+}
+
+/**
   * @brief This function handles USART1 global interrupt / USART1 wake-up interrupt through EXTI line 25.
   */
 void USART1_IRQHandler(void)
@@ -253,7 +270,7 @@
 		temp  =  __HAL_DMA_GET_COUNTER(&hdma_lpuart1_rx);// 获取DMA中未传输的数据个数   
 		rx_len = LPUART_SIZE - temp; //总计数减去未传输的数据个数,得到已经接收的数据个数
 		recv_end_flag = 1;	// 接受完成标志位置1	
-        HAL_UART_Receive_DMA(&hlpuart1,GPS_GGAdate,LPUART_SIZE);//重新打开DMA接收
+//        HAL_UART_Receive_DMA(&hlpuart1,GPS_GGAdate,LPUART_SIZE);//重新打开DMA接收
 	 }
   /* USER CODE END LPUART1_IRQn 0 */
   HAL_UART_IRQHandler(&hlpuart1);
@@ -263,5 +280,12 @@
 }
 
 /* USER CODE BEGIN 1 */
-
+extern u8 uwb_rx_remaintime_ms;
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
+{
+    if(uwb_rx_remaintime_ms>0)
+    {
+        uwb_rx_remaintime_ms--;
+    }
+}
 /* USER CODE END 1 */

--
Gitblit v1.9.3