做EXTI实验,探索者开发板上的key2作为进入外部中断的按键,在main()函数中,按照如下方法编译后程序不执行,卡住不动了
NVICInit(); //所有的中断的总配置
EXTI2_ControlInit();
SYSCFG_EXTIInit();//外部中断配置
但是将SYSCFG_EXTIInit();和EXTI2_ControlInit();换一下位置程序下载后就执行,为什么出现这种情况
我把程序传到附件中,希望各位大神帮忙解决一下,谢谢!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
SysTick_DelayInit(168);
这个放错了地方。
你居然把这个初始化,放到了中断初始化之后,而你在中断服务函数又调用了delay函数,结果就是,delay还没初始化,就已经被调用了,所以,就卡死在delay里面出不来了,永远无法完成延时。
---------------------------------
版主 我这两个函数实现不同的功能 一个是先配置SYSCFG的SYSCFG_EXTI寄存器,另一个函数是配置EXTI相关寄存器用于设置如何触发外部中断 没有更改时钟和修改中断设置 能帮忙看一下附件 分析一下吗 搞了一天也没有搞懂 麻烦了
一周热门 更多>