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

相关推荐
ACP广源盛139246256734 小时前
GSV6155@ACP#DP 1.4a 重定时器芯片,物理 AI 信号长距传输的稳定保障
大数据·人工智能·分布式·嵌入式硬件·spark
weixin_446260854 小时前
TinyML 在 STM32 与 ESP32 上的完整部署指南:从模型训练、量化到推理优化
stm32·单片机·嵌入式硬件
资深流水灯工程师4 小时前
基于 STM32L476 + SAI1 Block A + DMA 循环乒乓缓冲 实现 4 路加速度计 TDM 采集
stm32·单片机·嵌入式硬件
深圳市晶科鑫实业有限公司4 小时前
AI服务器为何对低抖动差分晶振如此挑剔?
服务器·人工智能·单片机·物联网·车载系统·云计算·信息与通信
破晓单片机4 小时前
063、STM32项目分享:智能儿童防丢书包系统
stm32·单片机·嵌入式硬件
fffzd4 小时前
STM32:定时器--旋钮->旋转编码器!
stm32·单片机·嵌入式硬件·定时器·旋钮·旋转编码器
xxwxx__4 小时前
51单片机串口通信完全指南:从原理到实战(发送、接收、回环与控制)
c语言·单片机·嵌入式硬件·51单片机
一路往蓝-Anbo12 小时前
第三篇:ADC 与模拟前端
stm32·嵌入式硬件·嵌入式·硬件设计
Net_Walke14 小时前
【Linux系统】静态链接库与动态链接库
linux·嵌入式硬件
努力小周15 小时前
STM32智能安防系统
c语言·stm32·单片机·嵌入式硬件·物联网·计算机网络·pcb工艺