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中断请求标志。

相关推荐
余生皆假期-4 小时前
永磁同步电机二次起步处理
单片机·嵌入式硬件
DLGXY5 小时前
STM32——TIM定时器、定时中断、RCC时序(八)
stm32·单片机·嵌入式硬件
CQ_YM5 小时前
ARM之I2C
arm开发·单片机·嵌入式硬件·嵌入式
让世界再也没有bug6 小时前
测试工具之一 ------示波器
单片机·嵌入式硬件·硬件测试·嵌入式软件测试
CircuitWizard6 小时前
STM32 + 淘晶驰T1串口屏波形显示
stm32·单片机·嵌入式硬件
A9better6 小时前
嵌入式开发学习日志53——互斥量
stm32·嵌入式硬件·学习
Q_21932764558 小时前
基于单片机的个性化服装尺寸红外 测量仪的设计
单片机·嵌入式硬件
Polanda。8 小时前
定时器-PWM参数测量实验
stm32·单片机·嵌入式硬件
恶魔泡泡糖9 小时前
51单片机串口通信
c语言·单片机·嵌入式硬件·51单片机
wotaifuzao9 小时前
【Keil 5安装】keil 5最新版本安装+环境配置+下载百度资源分享(安装包,注册机等)
stm32·单片机·嵌入式硬件·mcu·学习·keil5·最新keil