From b6e264d753d4aabce9371b1f050c6d692d17cf10 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期五, 15 三月 2024 15:59:51 +0800 Subject: [PATCH] 1 --- Src/stm32l0xx_hal_msp.c | 93 ++++++++++++++++++++++------------------------ 1 files changed, 44 insertions(+), 49 deletions(-) diff --git a/Src/stm32l0xx_hal_msp.c b/Src/stm32l0xx_hal_msp.c index 885d127..6155020 100644 --- a/Src/stm32l0xx_hal_msp.c +++ b/Src/stm32l0xx_hal_msp.c @@ -24,13 +24,13 @@ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ +extern DMA_HandleTypeDef hdma_lpuart1_rx; + +extern DMA_HandleTypeDef hdma_lpuart1_tx; + extern DMA_HandleTypeDef hdma_usart1_rx; extern DMA_HandleTypeDef hdma_usart1_tx; - -extern DMA_HandleTypeDef hdma_usart5_rx; - -extern DMA_HandleTypeDef hdma_usart5_tx; /* Private typedef -----------------------------------------------------------*/ /* USER CODE BEGIN TD */ @@ -224,8 +224,43 @@ GPIO_InitStruct.Alternate = GPIO_AF6_LPUART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /* LPUART1 DMA Init */ + /* LPUART1_RX Init */ + hdma_lpuart1_rx.Instance = DMA1_Channel6; + hdma_lpuart1_rx.Init.Request = DMA_REQUEST_5; + hdma_lpuart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_lpuart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_lpuart1_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_lpuart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_lpuart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_lpuart1_rx.Init.Mode = DMA_CIRCULAR; + hdma_lpuart1_rx.Init.Priority = DMA_PRIORITY_LOW; + if (HAL_DMA_Init(&hdma_lpuart1_rx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(huart,hdmarx,hdma_lpuart1_rx); + + /* LPUART1_TX Init */ + hdma_lpuart1_tx.Instance = DMA1_Channel7; + hdma_lpuart1_tx.Init.Request = DMA_REQUEST_5; + hdma_lpuart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_lpuart1_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_lpuart1_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_lpuart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_lpuart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_lpuart1_tx.Init.Mode = DMA_NORMAL; + hdma_lpuart1_tx.Init.Priority = DMA_PRIORITY_LOW; + if (HAL_DMA_Init(&hdma_lpuart1_tx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(huart,hdmatx,hdma_lpuart1_tx); + /* LPUART1 interrupt Init */ - HAL_NVIC_SetPriority(LPUART1_IRQn, 1, 0); + HAL_NVIC_SetPriority(LPUART1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(LPUART1_IRQn); /* USER CODE BEGIN LPUART1_MspInit 1 */ @@ -321,44 +356,6 @@ GPIO_InitStruct.Alternate = GPIO_AF6_USART5; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - /* USART5 DMA Init */ - /* USART5_RX Init */ - hdma_usart5_rx.Instance = DMA1_Channel6; - hdma_usart5_rx.Init.Request = DMA_REQUEST_13; - hdma_usart5_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; - hdma_usart5_rx.Init.PeriphInc = DMA_PINC_DISABLE; - hdma_usart5_rx.Init.MemInc = DMA_MINC_ENABLE; - hdma_usart5_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - hdma_usart5_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - hdma_usart5_rx.Init.Mode = DMA_CIRCULAR; - hdma_usart5_rx.Init.Priority = DMA_PRIORITY_LOW; - if (HAL_DMA_Init(&hdma_usart5_rx) != HAL_OK) - { - Error_Handler(); - } - - __HAL_LINKDMA(huart,hdmarx,hdma_usart5_rx); - - /* USART5_TX Init */ - hdma_usart5_tx.Instance = DMA1_Channel7; - hdma_usart5_tx.Init.Request = DMA_REQUEST_13; - hdma_usart5_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; - hdma_usart5_tx.Init.PeriphInc = DMA_PINC_DISABLE; - hdma_usart5_tx.Init.MemInc = DMA_MINC_ENABLE; - hdma_usart5_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - hdma_usart5_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - hdma_usart5_tx.Init.Mode = DMA_NORMAL; - hdma_usart5_tx.Init.Priority = DMA_PRIORITY_LOW; - if (HAL_DMA_Init(&hdma_usart5_tx) != HAL_OK) - { - Error_Handler(); - } - - __HAL_LINKDMA(huart,hdmatx,hdma_usart5_tx); - - /* USART5 interrupt Init */ - HAL_NVIC_SetPriority(USART4_5_IRQn, 2, 0); - HAL_NVIC_EnableIRQ(USART4_5_IRQn); /* USER CODE BEGIN USART5_MspInit 1 */ /* USER CODE END USART5_MspInit 1 */ @@ -387,6 +384,10 @@ PA3 ------> LPUART1_RX */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); + + /* LPUART1 DMA DeInit */ + HAL_DMA_DeInit(huart->hdmarx); + HAL_DMA_DeInit(huart->hdmatx); /* LPUART1 interrupt DeInit */ HAL_NVIC_DisableIRQ(LPUART1_IRQn); @@ -434,12 +435,6 @@ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); - /* USART5 DMA DeInit */ - HAL_DMA_DeInit(huart->hdmarx); - HAL_DMA_DeInit(huart->hdmatx); - - /* USART5 interrupt DeInit */ - HAL_NVIC_DisableIRQ(USART4_5_IRQn); /* USER CODE BEGIN USART5_MspDeInit 1 */ /* USER CODE END USART5_MspDeInit 1 */ -- Gitblit v1.9.3