From 68c43c5adef03f00836d83b37cb83a294d8b0354 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期四, 13 十一月 2025 17:04:28 +0800
Subject: [PATCH] 晚上SBUS信号解析,成功控制车走
---
STM32H743/Core/Src/stm32h7xx_it.c | 64 +++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 17 deletions(-)
diff --git a/STM32H743/Core/Src/stm32h7xx_it.c b/STM32H743/Core/Src/stm32h7xx_it.c
index aa119d7..02d6573 100644
--- a/STM32H743/Core/Src/stm32h7xx_it.c
+++ b/STM32H743/Core/Src/stm32h7xx_it.c
@@ -20,10 +20,9 @@
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32h7xx_it.h"
-#include "bluetooth.h"
-
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
+#include "bluetooth.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@@ -57,9 +56,10 @@
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
-extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim2;
extern TIM_HandleTypeDef htim3;
+extern TIM_HandleTypeDef htim4;
+extern DMA_HandleTypeDef hdma_uart4_rx;
extern DMA_HandleTypeDef hdma_usart1_rx;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern DMA_HandleTypeDef hdma_usart2_rx;
@@ -68,6 +68,7 @@
extern DMA_HandleTypeDef hdma_usart3_tx;
extern DMA_HandleTypeDef hdma_usart6_rx;
extern DMA_HandleTypeDef hdma_usart6_tx;
+extern UART_HandleTypeDef huart4;
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3;
@@ -275,20 +276,6 @@
}
/**
- * @brief This function handles TIM1 update interrupt.
- */
-void TIM1_UP_IRQHandler(void)
-{
- /* USER CODE BEGIN TIM1_UP_IRQn 0 */
-
- /* USER CODE END TIM1_UP_IRQn 0 */
- HAL_TIM_IRQHandler(&htim1);
- /* USER CODE BEGIN TIM1_UP_IRQn 1 */
-
- /* USER CODE END TIM1_UP_IRQn 1 */
-}
-
-/**
* @brief This function handles TIM2 global interrupt.
*/
void TIM2_IRQHandler(void)
@@ -314,6 +301,20 @@
/* USER CODE BEGIN TIM3_IRQn 1 */
/* USER CODE END TIM3_IRQn 1 */
+}
+
+/**
+ * @brief This function handles TIM4 global interrupt.
+ */
+void TIM4_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM4_IRQn 0 */
+
+ /* USER CODE END TIM4_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim4);
+ /* USER CODE BEGIN TIM4_IRQn 1 */
+
+ /* USER CODE END TIM4_IRQn 1 */
}
/**
@@ -373,6 +374,34 @@
}
/**
+ * @brief This function handles UART4 global interrupt.
+ */
+void UART4_IRQHandler(void)
+{
+ /* USER CODE BEGIN UART4_IRQn 0 */
+
+ /* USER CODE END UART4_IRQn 0 */
+ HAL_UART_IRQHandler(&huart4);
+ /* USER CODE BEGIN UART4_IRQn 1 */
+
+ /* USER CODE END UART4_IRQn 1 */
+}
+
+/**
+ * @brief This function handles DMA2 stream0 global interrupt.
+ */
+void DMA2_Stream0_IRQHandler(void)
+{
+ /* USER CODE BEGIN DMA2_Stream0_IRQn 0 */
+
+ /* USER CODE END DMA2_Stream0_IRQn 0 */
+ HAL_DMA_IRQHandler(&hdma_uart4_rx);
+ /* USER CODE BEGIN DMA2_Stream0_IRQn 1 */
+
+ /* USER CODE END DMA2_Stream0_IRQn 1 */
+}
+
+/**
* @brief This function handles USART6 global interrupt.
*/
void USART6_IRQHandler(void)
@@ -390,6 +419,7 @@
temp = __HAL_DMA_GET_COUNTER(&hdma_usart6_rx);
uart6_dma_recv_len = UART6_DMA_RX_BUF_SIZE - temp;
uart6_dma_recv_end_flag = 1;
+ HAL_UART_Receive_DMA(&huart6, uart6_dma_rxbuf, UART6_DMA_RX_BUF_SIZE);
}
/* USER CODE END USART6_IRQn 0 */
--
Gitblit v1.9.3