stm32cubemx+HAL+串口接收中断

文章目录[隐藏]

stm32cubemx+HAL+串口接收中断

在cubemx配置完串口和global interrupt后需要在keil中添加如下代码。

第一步:在main函数中添加接收中断标志位开启函数

HAL_UART_Receive_IT(&huart1,aRxBuffer,1);

接收到的数据储存在aRxBuffer数组中
第二步:在stm32h7xx.c 文件串口中断函数中处理数据
先定义接收数组变量

uint8_t aRxBuffer[1];

然后再在中断函数中进行数据处理

 /* USER CODE BEGIN USART1_IRQn 0 */
	uint32_t temp;
	temp=aRxBuffer[0];
	FRAME_ReceiveCall(temp,MYUSART1);
  /* USER CODE END USART1_IRQn 0 */
  	HAL_UART_IRQHandler(&huart1);
  /* USER CODE BEGIN USART1_IRQn 1 */
  	HAL_UART_Receive_IT(&huart1,aRxBuffer,1);
  /* USER CODE END USART1_IRQn 1 */
}

其中FRAME_ReceiveCall(temp,MYUSART1);函数是对帧头、帧尾、属性等的处理。其中需要注意的是在中断中要再次开启接收中断标志位以准备下次的数据接收。

版权声明:本文为CSDN博主「MyKing欲冲」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangyucong2000/article/details/120985304

生成海报
点赞 0

MyKing欲冲

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

【STM32Cube笔记】12-配置外部中断

【STM32Cube笔记】系列文章目录 1-基于STM32的VSCode入门级教程前言 2-STM32Cube安装教程 3-STM32CubeIDE汉化 4-STM32Cube配置时钟设置 5-跑马灯引脚配置 6-Cortex-M7内核基本配

stm32中断和连续发送数据

目录 一、HAL库中断点亮LED灯 1.建项目部分 2、代码部分 3.运行结果 二、HAL库中断串口通信 1.项目 2.代码部分 三、采用串口DMA发送用特定速率向上位机连续发送数据 1.项目 2.代码 3.烧录及结果 一、HAL库