使用STM32 HAL库修改串口波特率的通用代码指南
有的模块在初始化配置或者进行其他设置的时候,需要更改波特率,这几天搞了个通用的代码可以在HAL中即插即用。
在HAL库的usart.c中添加这段代码,可以修改对应串口的波特率,方便模块控制:
/* USER CODE BEGIN 0 */
void MX_USART_UART_Init(UART_HandleTypeDef *huart, USART_TypeDef * uart,int BaudRate)
{
huart->Instance = uart;
huart->Init.BaudRate = BaudRate;
huart->Init.WordLength = UART_WORDLENGTH_8B;
huart->Init.StopBits = UART_STOPBITS_1;
huart->Init.Parity = UART_PARITY_NONE;
huart->Init.Mode = UART_MODE_TX_RX;
huart->Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart->Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart1) != HAL_OK)
{
Error_Handler();
}
}
/* USER CODE END 0 */
//UART_HandleTypeDef huart1; //这里是CubeMX导出时的配置,不用自己写
//UART_HandleTypeDef huart2;
//UART_HandleTypeDef huart3;
在usart.h中添加的声明这里不再展示,就贴出来使用方法:
MX_USART_UART_Init(&huart1, USART1, 9600);
MX_USART_UART_Init(&huart1, USART1, 115200);