当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/397599.html

相关文章:

  • oak相机使用oak官网方式标定
  • 打造高效能“园区企业服务平台”,让企业更好更快发展!
  • 【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)
  • 前端时间格式传入后端负载里面没有东西
  • BUCK电源芯片,电气参数,极限参数,工作特性,引脚功能
  • 学习小记-使用Redis的令牌桶算法实现分布式限流
  • electron + express 实现 vue 项目客户端部署
  • 千万慎投!自引率高达93%!这16本On hold正处于高危状态,无法检索,剔除岌岌可危中!近四年镇压期刊“出狱”情况一览
  • 【数据结构】排序——快速排序
  • Matlab 怎么查找矩阵中所有0的数据并赋值
  • 开发一个HTTP模块
  • vue2实现复制,粘贴功能,使用vue-clipboard2插件
  • 【软件测试】 1+X初级 功能测试试题
  • zynq启动和程序固化流程
  • CSS3实现彩色变形爱心动画【附源码】
  • 【JVM基础篇】Java的四种垃圾回收算法介绍
  • Kodcloud可道云安装与一键发布上线实现远程访问详细教程
  • python杨辉三角的两种书写方式
  • 【CSS in Depth 2精译】2.5 无单位的数值与行高
  • 【人脸识别、Python实现】PyQt5人脸识别管理系统
  • 软设之观察者模式
  • deep learning 环境配置
  • 09磁盘管理
  • Node.js Stream
  • 简化嵌入式Linux开发:在Ubuntu上安装和配置交叉编译环境的高效方法
  • Photoshop批量处理图片分辨率
  • TCP协议的三次握手和四次挥手(面试)
  • css看见彩虹,吃定彩虹
  • springboot在线教育平台-计算机毕业设计源码68562
  • 形态学图像处理