STM32空闲中断处理串口接受数据

1、检测到空闲线路中断也叫做空闲中断,意思是串口接收完1字节数据后,数据先保持高电平(空闲)的时间超过1字节数据所用的时间,则被判定为空闲中断。

2、HAL库中操作空闲中断的宏是

(1)_HAL_UART_GET_FLAG(HANDLE,FLAG)宏

其中,_HANDLE_是串口的句柄如huart3,_FLAG_是所要检测中中断标志位,如检测空闲中断则取值为UART_FLAG_IDLE。

(2)_HAL_UART_CLEAR_IDLEFLAG(HANDLE)宏

其中,_HANDLE_是串口的句柄如huart3。

3、空闲中断编程具体步骤

(1)在main函数的初始化部分的最后用HAL_UART_Receive_IT()函数使能串口接收中断,并指定接收缓冲区和接收数据的长度。

(2)在串口接收中断回调函数HAL_UART_RxCpltCallback()中读取串口所接收的数据,并保存至用户缓冲区中。

(3)在main函数的while死循环中用_HAL_UART_GET_FLAG()宏读取IDLE中断请求标志,并判断其状态,若为复位状态,则结束数据接收处理工作,若为置位状态,则对接收到的数据进行处理,处理结束后用_HAL_UART_CLEAR_IDLEFLAG(HANDLE)宏清除IDLE中断请求标志。

相关推荐
HIZYUAN18 分钟前
AG32 ( MCU+FPGA二合一 )是如何卷入了三相电能计量市场的
单片机·嵌入式硬件
pengfei_M25 分钟前
四、FVP启动linux
linux·单片机·嵌入式硬件
weixin_471525781 小时前
【ARMday02】
单片机·嵌入式硬件
世微 如初2 小时前
无需外部补偿的同步降压方案:AP3471在分布式供电系统中的应用
单片机·嵌入式硬件·芯片·led驱动·led电源驱动
云山工作室3 小时前
基于单片机的声光控制楼道灯(论文+源码)
单片机·嵌入式硬件
humingling3 小时前
单片机的bin、exe、elf、hex文件差异
单片机·嵌入式硬件
神仙别闹6 小时前
基于单片机的六足机器人控制系统设计
单片机·嵌入式硬件·机器人
MilesShi7 小时前
从 scheduler_tick 到上下文切换:深入解析 Linux 内核的 TIF_NEED_RESCHED 标志设置流程
linux·运维·单片机
阿让啊9 小时前
C语言strtol 函数使用方法
c语言·数据结构·c++·单片机·嵌入式硬件
DebugKitty13 小时前
硬件开发1-51单片机4-DS18B20
单片机·嵌入式硬件·51单片机·ds18b20