STM32:Default_Handler问题

记录代码进入Default_Handler错误的解决办法

一、 问题表述

  • 在一次调试代码的时候,发现代码卡死在启动文件 startup_at32f423xx_.s 的367行,即 B. 处
  • B.是汇编代码,B:跳转到一个标号,这里跳转到一个'.',即表示无限死循环
  • 通过在Debug窗口可以定位到,程序是进入Default_Handler错误

二、 问题分析

  • 使用某个外设的时候,开启了某个中断,但是又忘记编写配套的中断服务程序或者函数名写错,那当中断来临的时,程序就会跳转到启动文件预先写好的空的中断服务程序中,并且在这个空函数中无线循环,即程序就死在这里
  • 在启动文件里面已经帮我们写好所有中断的中断服务函数,跟我们平时写的中断服务函数不一样的就是这些函数都是空的,即虚函数,真正的中断服务程序需要我们在外部的 C 文件里面重新实现,这里只是提前占了一个位置

三、总结

在开启了某个中断,但是又忘记编写配套的中断服务程序或者函数名写错,代码会进入Default_Handler错误,即 B. 死循环

相关推荐
Mr-pn-junction3 小时前
clk_gate
单片机·嵌入式硬件·fpga开发
尼喃8 小时前
662K和65Z5三脚稳压芯片PW6566,附引脚定义与典型电路图
嵌入式硬件
李永奉11 小时前
杰理可视化SDK开发-【BUG】配置“TWS两边同时按消息使能”功能后,按键单击功能无效失灵
开发语言·单片机·嵌入式硬件·物联网·bug
执迷不悟82312 小时前
51单片机--中断/定时/PWM
单片机·嵌入式硬件·51单片机
A小调的码农14 小时前
OPENOCD+MSYS+VSCODE:从“灯不亮“到“终于亮了“
ide·vscode·stm32·单片机·编辑器
AI的探索之旅14 小时前
让 Claude Code 直接操刀画原理图和 PCB:VSCode 插件接外部 API 全流程
linux·ide·vscode·嵌入式硬件·编辑器
Dlrb121114 小时前
单片机通信协议---串口及串口通信
单片机·嵌入式硬件·串口·uart·modbus·波特率·主机从机
嵌入式-老费15 小时前
esp32开发与应用(用好ttl转485模块)
stm32·单片机·嵌入式硬件
謓泽16 小时前
【6.30】芯片 Bring-up 三步核心|从短路检查到 SPI 排障全拆解!
单片机·嵌入式硬件
2CM_Embed16 小时前
Quartus II 工程编译与 FPGA 下载流程记录
嵌入式硬件·fpga开发