|
|
@ -127,7 +127,7 @@ void AppHal::MX_IWDG_Init(void) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void AppHal::UART3_Init() { |
|
|
|
void AppHal::UART3_Init(Pin_t tx, Pin_t rx, int32_t baudrate) { |
|
|
|
GPIO_InitTypeDef GPIO_InitStruct = {0}; |
|
|
|
|
|
|
|
__HAL_RCC_USART3_CLK_ENABLE(); |
|
|
@ -135,7 +135,7 @@ void AppHal::UART3_Init() { |
|
|
|
__HAL_RCC_DMA1_CLK_ENABLE(); |
|
|
|
|
|
|
|
huart3.Instance = USART3; |
|
|
|
huart3.Init.BaudRate = 115200; |
|
|
|
huart3.Init.BaudRate = baudrate; |
|
|
|
huart3.Init.WordLength = UART_WORDLENGTH_8B; |
|
|
|
huart3.Init.StopBits = UART_STOPBITS_1; |
|
|
|
huart3.Init.Parity = UART_PARITY_NONE; |
|
|
@ -146,12 +146,25 @@ void AppHal::UART3_Init() { |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
|
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11; |
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |
|
|
|
GPIO_InitStruct.Pull = GPIO_NOPULL; |
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
|
|
|
GPIO_InitStruct.Alternate = GPIO_AF7_USART3; |
|
|
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
|
|
|
if (tx == PB10 && rx == PB11) { |
|
|
|
__HAL_RCC_GPIOB_CLK_ENABLE(); |
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11; |
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |
|
|
|
GPIO_InitStruct.Pull = GPIO_NOPULL; |
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
|
|
|
GPIO_InitStruct.Alternate = GPIO_AF7_USART3; |
|
|
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
|
|
|
} else if (tx == PD8 && rx == PD9) { |
|
|
|
__HAL_RCC_GPIOD_CLK_ENABLE(); |
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9; |
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |
|
|
|
GPIO_InitStruct.Pull = GPIO_NOPULL; |
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
|
|
|
GPIO_InitStruct.Alternate = GPIO_AF7_USART3; |
|
|
|
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); |
|
|
|
} else { |
|
|
|
ASSERT(false, "UART3 NOT SUPPORT PIN"); |
|
|
|
} |
|
|
|
|
|
|
|
hdma1_stream1.Instance = DMA1_Stream1; |
|
|
|
hdma1_stream1.Init.Channel = DMA_CHANNEL_4; |
|
|
@ -198,14 +211,14 @@ void AppHal::UART3_Init() { |
|
|
|
/**
|
|
|
|
* @brief |
|
|
|
*/ |
|
|
|
void AppHal::UART4_Init() { |
|
|
|
void AppHal::UART4_Init(Pin_t tx, Pin_t rx, int32_t baudrate) { |
|
|
|
GPIO_InitTypeDef GPIO_InitStruct = {0}; |
|
|
|
|
|
|
|
__HAL_RCC_UART4_CLK_ENABLE(); |
|
|
|
__HAL_RCC_GPIOC_CLK_ENABLE(); |
|
|
|
|
|
|
|
huart4.Instance = UART4; |
|
|
|
huart4.Init.BaudRate = 256000; |
|
|
|
huart4.Init.BaudRate = baudrate; // 256000
|
|
|
|
huart4.Init.WordLength = UART_WORDLENGTH_8B; |
|
|
|
huart4.Init.StopBits = UART_STOPBITS_1; |
|
|
|
huart4.Init.Parity = UART_PARITY_NONE; |
|
|
@ -220,12 +233,16 @@ void AppHal::UART4_Init() { |
|
|
|
PC10 ------> UART4_TX |
|
|
|
PC11 ------> UART4_RX |
|
|
|
*/ |
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11; |
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |
|
|
|
GPIO_InitStruct.Pull = GPIO_PULLDOWN; |
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
|
|
|
GPIO_InitStruct.Alternate = GPIO_AF8_UART4; |
|
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
|
|
|
if (tx == PC10 && rx == PC11) { |
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11; |
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |
|
|
|
GPIO_InitStruct.Pull = GPIO_PULLDOWN; |
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
|
|
|
GPIO_InitStruct.Alternate = GPIO_AF8_UART4; |
|
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
|
|
|
} else { |
|
|
|
ASSERT(false, "UART4 NOT SUPPORT PIN"); |
|
|
|
} |
|
|
|
|
|
|
|
/* UART4 interrupt Init */ |
|
|
|
HAL_NVIC_SetPriority(UART4_IRQn, 5, 0); |
|
|
|