使用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);
物联沃分享整理
物联沃-IOTWORD物联网 » 使用STM32 HAL库修改串口波特率的通用代码指南

发表评论