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