stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)

      这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断一定要记得实现对应的系统中断函数,否则会进来一直循环在这里了。

(我是在弄正点原子的USB例程时候,由于stm32f1xx_it.c文件里的内容在PDF教程里没说要添加上,我就只拷贝了USB相关的驱动文件,然后运行就一直进入这个Infinite_Loop里了,踩了个小坑,涨涨经验吧!)

在starup_stm32f103xe.S文件里:

/**
 * @brief  This is the code that gets called when the processor receives an
 *         unexpected interrupt.  This simply enters an infinite loop, preserving
 *         the system state for examination by a debugger.
 *
 * @param  None
 * @retval : None
*/
    .section .text.Default_Handler,"ax",%progbits
Default_Handler:
Infinite_Loop:
  b Infinite_Loop
  .size Default_Handler, .-Default_Handler

posted @ 2025-06-09 22:11  我是标同学  阅读(0)  评论(0)    收藏  举报  来源