- 全部
- 默认排序
调试过STM32的小伙伴应该发现了这个一个现象:main函数位于复位中断服务程序里面。你可能会好奇:程序是从main开始,难道所有程序都在复位中断里面执行的?首先,Reset_Handler 是单片机的一个中断,其次,main 函数也确实被 Reset_Handler 中断调用了。那不是,main函
IAP跳转后,别漏掉中断向量表Boot跳到APP后主循环能执行,SysTick或外设中断一来却HardFault,常见根因不是跳转指令本身,而是中断向量表仍指向Boot区。核心判断是:装载APP栈顶并跳到Reset_Handler只接管主流
DMA不停接收,先算清读写边界串口DMA开成循环模式后,中断次数下降了,连续数据也能搬进内存;运行一段时间,协议帧却偶尔错位或被覆盖。DMA只负责把外设寄存器按顺序写进一块循环内存,它不会替CPU记录哪些字节已经处理、哪些字节刚写入、何时发
按键就按了一下,程序怎么执行了好几次?按键明明只按了一次,计数却加了两三次,甚至一次操作触发多个中断。常见原因不是MCU速度太慢,而是机械触点闭合、断开时会抖动。硬件接法、输入特性和软件消抖方式都要一起看。手指一次,电平却跳了好几下做一个最
#include
如下程序,在实验板上调试的时候出现这种情况: 当按下k3时候,外部中断0触发,灯向右移动,接着按下k4,外部中断1触发(设置了中断0低优先级,中断1高优先级),灯向左移动, 接着再按k3按键,就不再实现中断0触发了。仍然在执行k4程序。这是为什么呢? 我在k3,K4程序内交替设置了中断0和中断1优先

扫码关注















