From 38f9c6c604b138b24b840fa4733c26e35a0b137e Mon Sep 17 00:00:00 2001 From: a1012112796 <1012112796@qq.com> Date: Sat, 17 Dec 2022 10:17:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B2=E5=8F=A3=E9=85=8D=E7=BD=AE=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=A1=AE=E8=AE=A4=20uart1-6,=2010=20ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: a1012112796 <1012112796@qq.com> --- board/CubeMX_Config/CubeMX_Config.ioc | 67 +++++++++++--------- board/CubeMX_Config/Src/stm32f4xx_hal_msp.c | 42 ++++++++++++ libraries/HAL_Drivers/config/f4/dma_config.h | 2 +- 3 files changed, 81 insertions(+), 30 deletions(-) diff --git a/board/CubeMX_Config/CubeMX_Config.ioc b/board/CubeMX_Config/CubeMX_Config.ioc index 2b747b6..b9da9fe 100644 --- a/board/CubeMX_Config/CubeMX_Config.ioc +++ b/board/CubeMX_Config/CubeMX_Config.ioc @@ -42,6 +42,7 @@ Mcu.IP20=UART10 Mcu.IP21=USART1 Mcu.IP22=USART2 Mcu.IP23=USART3 +Mcu.IP24=USART6 Mcu.IP3=CAN3 Mcu.IP4=I2C3 Mcu.IP5=NVIC @@ -49,7 +50,7 @@ Mcu.IP6=RCC Mcu.IP7=SPI2 Mcu.IP8=SPI4 Mcu.IP9=SYS -Mcu.IPNb=24 +Mcu.IPNb=25 Mcu.Name=STM32F413V(G-H)Tx Mcu.Package=LQFP100 Mcu.Pin0=PE2 @@ -82,40 +83,42 @@ Mcu.Pin32=PB14 Mcu.Pin33=PB15 Mcu.Pin34=PD14 Mcu.Pin35=PD15 -Mcu.Pin36=PC9 -Mcu.Pin37=PA8 -Mcu.Pin38=PA9 -Mcu.Pin39=PA10 +Mcu.Pin36=PC6 +Mcu.Pin37=PC7 +Mcu.Pin38=PC9 +Mcu.Pin39=PA8 Mcu.Pin4=PE6 -Mcu.Pin40=PA11 -Mcu.Pin41=PA12 -Mcu.Pin42=PA13 -Mcu.Pin43=PA14 -Mcu.Pin44=PC10 -Mcu.Pin45=PC11 -Mcu.Pin46=PC12 -Mcu.Pin47=PD0 -Mcu.Pin48=PD2 -Mcu.Pin49=PD5 +Mcu.Pin40=PA9 +Mcu.Pin41=PA10 +Mcu.Pin42=PA11 +Mcu.Pin43=PA12 +Mcu.Pin44=PA13 +Mcu.Pin45=PA14 +Mcu.Pin46=PC10 +Mcu.Pin47=PC11 +Mcu.Pin48=PC12 +Mcu.Pin49=PD0 Mcu.Pin5=PH0 - OSC_IN -Mcu.Pin50=PD6 -Mcu.Pin51=PB3 -Mcu.Pin52=PB4 -Mcu.Pin53=PB6 -Mcu.Pin54=PB7 -Mcu.Pin55=PB8 -Mcu.Pin56=PB9 -Mcu.Pin57=PE0 -Mcu.Pin58=PE1 -Mcu.Pin59=VP_SYS_VS_Systick +Mcu.Pin50=PD2 +Mcu.Pin51=PD5 +Mcu.Pin52=PD6 +Mcu.Pin53=PB3 +Mcu.Pin54=PB4 +Mcu.Pin55=PB6 +Mcu.Pin56=PB7 +Mcu.Pin57=PB8 +Mcu.Pin58=PB9 +Mcu.Pin59=PE0 Mcu.Pin6=PH1 - OSC_OUT -Mcu.Pin60=VP_TIM1_VS_ClockSourceINT -Mcu.Pin61=VP_TIM3_VS_ClockSourceINT -Mcu.Pin62=VP_TIM4_VS_ClockSourceINT +Mcu.Pin60=PE1 +Mcu.Pin61=VP_SYS_VS_Systick +Mcu.Pin62=VP_TIM1_VS_ClockSourceINT +Mcu.Pin63=VP_TIM3_VS_ClockSourceINT +Mcu.Pin64=VP_TIM4_VS_ClockSourceINT Mcu.Pin7=PC0 Mcu.Pin8=PC1 Mcu.Pin9=PC2 -Mcu.PinsNb=63 +Mcu.PinsNb=65 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F413VGTx @@ -192,6 +195,10 @@ PC3.Mode=Full_Duplex_Master PC3.Signal=SPI2_MOSI PC4.Signal=ADCx_IN14 PC5.Signal=ADCx_IN15 +PC6.Mode=Asynchronous +PC6.Signal=USART6_TX +PC7.Mode=Asynchronous +PC7.Signal=USART6_RX PC9.Mode=I2C PC9.Signal=I2C3_SDA PD0.Mode=CAN_Activate @@ -403,6 +410,8 @@ USART2.IPParameters=VirtualMode USART2.VirtualMode=VM_ASYNC USART3.IPParameters=VirtualMode USART3.VirtualMode=VM_ASYNC +USART6.IPParameters=VirtualMode +USART6.VirtualMode=VM_ASYNC VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_TIM1_VS_ClockSourceINT.Mode=Internal diff --git a/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c b/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c index 925c436..6f9a020 100644 --- a/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c +++ b/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c @@ -1034,6 +1034,30 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) /* USER CODE END USART3_MspInit 1 */ } + else if(huart->Instance==USART6) + { + /* USER CODE BEGIN USART6_MspInit 0 */ + + /* USER CODE END USART6_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_USART6_CLK_ENABLE(); + + __HAL_RCC_GPIOC_CLK_ENABLE(); + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF8_USART6; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /* USER CODE BEGIN USART6_MspInit 1 */ + + /* USER CODE END USART6_MspInit 1 */ + } } @@ -1209,6 +1233,24 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) /* USER CODE END USART3_MspDeInit 1 */ } + else if(huart->Instance==USART6) + { + /* USER CODE BEGIN USART6_MspDeInit 0 */ + + /* USER CODE END USART6_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART6_CLK_DISABLE(); + + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7); + + /* USER CODE BEGIN USART6_MspDeInit 1 */ + + /* USER CODE END USART6_MspDeInit 1 */ + } } diff --git a/libraries/HAL_Drivers/config/f4/dma_config.h b/libraries/HAL_Drivers/config/f4/dma_config.h index a86158f..c0e4f6c 100644 --- a/libraries/HAL_Drivers/config/f4/dma_config.h +++ b/libraries/HAL_Drivers/config/f4/dma_config.h @@ -146,7 +146,7 @@ extern "C" { #define UART5_DMA_TX_IRQHandler DMA1_Stream7_IRQHandler #define UART5_TX_DMA_RCC RCC_AHB1ENR_DMA1EN #define UART5_TX_DMA_INSTANCE DMA1_Stream7 -#define UART5_TX_DMA_CHANNEL DMA_CHANNEL_4 +#define UART5_TX_DMA_CHANNEL DMA_CHANNEL_8 #define UART5_TX_DMA_IRQ DMA1_Stream7_IRQn #endif