基于stm32cubemx的串口中断处理(stm32F205)

本文介绍了基于STM32Cubemx配置的串口中断处理,包括MX_USART1_UART_Init()设置基本参数,HAL_UART_MspInit()配置GPIO、时钟和中断,以及HAL_UART_Init()初始化外设。中断触发后,数据收发通过USART1_IRQHandler()调用HAL_UART_IRQHandler()处理,可选择回调函数或直接在中断服务函数中处理,前者更利于代码维护。
摘要由CSDN通过智能技术生成

cubemx工具在图形界面设置了相应参数会自动生成初始化相关配置。

串口初始化过程中不同函数的作用
MX_USART1_UART_Init()函数用于设置UART的基本参数;
HAL_UART_MspInit()函数配置与UART相关的GPIO引脚、时钟使能、配置中断优先级及中断使能;
HAL_UART_Init()函数最终初始化UART外设,并将寄存器配置为正确的值。
初始化后,中断开启,收发自动触发中断。

void MX_USART1_UART_Init(void)
{

  /* USER CODE BEGIN USART1_Init 0 */

  /* USER CODE END USART1_Init 0 */

  /* USER CODE BEGIN USART1_Init 1 */

  /* USER CODE END USART1_Init 1 */
  huart1.Instance = USART1;
  huart1.Init.BaudRate = 115200;
  huart1.Init.WordLength = UART_WORDLENGTH_8B;
  huart1.Init.StopBits = UART_STOPBITS_1;
  huart1.Init.Parity = UART_PARITY_NONE;
  huart1.Init.Mode = UART_MODE_TX_RX;
  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
  if (HAL_UART_Init(&huart1) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN USART1_Init 2 */
  HAL_UART_Receive_IT(&huart1, 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值