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

中断里不读DR,RXNE不清,系统卡死

短文标题:中断里不读DR,RXNE不清,系统卡死

你有没有想过一个问题:USART接收中断配置好了,一上电程序就卡死,一直在中断里出不来。很可能你没读DR。RXNE标志置1后,只有读DR才能清除。RXNE:接收数据寄存器非空,USART收到一个字节,硬件把数据存入DR,同时RXNE标志置1。如果RXNEIE使能,触发中断。中断里必须读DR,硬件才自动清除RXNE。

void USART1_IRQHandler(void)

{

if (USART1->SR & USART_SR_RXNE) {

uint8_t data = USART1->DR; // 读DR,硬件自动清RXNE

// 处理数据...

}

}

不读DR,RXNE永远为1,退出中断立即再进,系统卡死。ORE溢出错误:第二个陷阱,上一字节还没读,下一字节又收到了,ORE标志置1。ORE置1后,USART停止接收新数据,直到软件清除。清除ORE的正确顺序:先读SR,再读DR。

if (USART1->SR & USART_SR_ORE) {

volatile uint32_t tmp = USART1->SR; // 读SR

tmp = USART1->DR; // 再读DR

}

顺序错了,ORE清不掉。

回环实验,通过串口回环理解中断收发:

  1. 配置USART接收中断
  2. PC发送数据,单片机在中断中接收
  3. 将收到的数据立即发送回去(回环)

void USART1_IRQHandler(void)

{

if (USART1->SR & USART_SR_RXNE) {

uint8_t data = USART1->DR;

// 回环:将收到的数据立即发送

while (!(USART1->SR & USART_SR_TXE));

USART1->DR = data;

}

}

标志清除方式汇总

这个故事的启示,外设标志位是硬件给软件的“信号”,不清理,硬件就认为你还没忙完。收到信号(中断),回应信号(读DR清标志)。不回应,硬件一直喊,系统卡死。写在最后,写USART接收中断,记住三件事:读DR清RXNE,读SR再读DR清ORE,不清楚清除方式查手册。不读DR,中断不停。不清ORE,接收卡死。


(本文灵感源于于振南《新概念ARM32单片机》教程第4.9节。)

觉得有用?点赞、转发,让更多人避开“不读DR”的坑。

http://www.jsqmd.com/news/1298156/

相关文章:

  • 2026年7月宁波木工工具工作台/木工工具工作台行业靠谱厂家_宁波京燕工具有限公司 - 行业平台推荐
  • 降AIGC黑科技揭秘!AI率92%暴降至5%!实测10款降AI率软件!学生党狂喜!
  • 2026年Java端口监听新突破:SO_REUSEPORT实现多进程并发监听
  • 2026年7月陕西给水钢管/给水钢管行业精选厂家_陕西睿秋实业有限公司 - 行业平台推荐
  • ADB命令精准控制Android设备音量:从原理到自动化实战
  • 解决onnxruntime安装失败:跨平台预编译包与源码编译实战指南
  • 2026年7月苏州SMT贴片/苏州SMT代工公司推荐榜单_苏州艾纽智能科技有限公司 - 行业平台推荐
  • 2026年7月广东轻便款电动车锂电池/轻便款电动车锂电池公司推荐测评_广东龙集动力科技有限公司 - 行业平台推荐
  • 数字电子技术期末高效复习指南:核心模块拆解与实战技巧
  • 2026年7月长水口/下水口厂家推荐榜_无锡市南方耐材有限公司 - 行业平台推荐
  • 开源 SSH 终端 SpanHost:轻量、多标签、端口转发
  • 2026年7月金华智能混色搅拌机/金华全自动智能混色搅拌机公司推荐榜单_金华市久业智能科技有限公司 - 行业平台推荐
  • 2026年五大AI降重工具横评与学术写作技巧
  • 一个 Student 结构体的简单封装
  • STM32定时器PWM原理与呼吸灯实现详解
  • 终极Flash浏览器:如何让经典Flash游戏和应用重获新生
  • 2026年7月吉林牛饲料/吉林乳猪饲料公司推荐分析_吉林省汇民达生物科技有限公司 - 品牌宣传支持者
  • LVS负载调度
  • python iteritems Python iteritems早废了!Linux老炮儿还在用命令行硬扛?
  • 2026年7月釜底阀门/浙江液冷阀门公司推荐指南_浙江迪科阀门有限公司 - 品牌宣传支持者
  • 2026年7月龙港通勤帆布包/托特帆布包厂家口碑榜_龙港亚细亚包装有限公司 - 品牌宣传支持者
  • 我用AI做的3/100件事之废旧手机变英语磨耳朵神器
  • 2026年 摩托车学车全攻略:新手驾考培训机构、练车场地与拿证流程一站式避坑指南 - 优企名品
  • 2026年7月四川铣床机械加工/四川机械抓手机械加工实力厂家推荐_成都瑞欣鸿机电设备有限公司 - 品牌宣传支持者
  • 2026年7月湖北哑光铝单板/铝蜂窝板公司推荐合集_湖北登冠装饰材料有限公司 - 品牌宣传支持者
  • 决策树基本介绍
  • 用Jenkins搭建Qt项目自动编译流水线(实战指南)
  • 赛马娘角色反应集制作指南:从性格挖掘到剪辑技巧
  • Qoder额度管理:从API资源控制到工作流集成的工程实践
  • 三菱FX3U-32M PLC与GX Works2通讯连接及梯形图编程入门指南