最近几天折腾stm32,遇见了很抑郁的问题,外部中止进入不了,最终找到解决方法的时分觉得……唉,下面总结几条原因以便于我们少走弯路。
1.沙里淘金翻开复用时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
2.最好加上一个EXTI_GenerateSWInterrupt(EXTI_LineX);发生软件中止便于判别是不是本来就装备过错;
3.舱位硬件仿真:
4.正确设置中止向量地址:
#if defined (VECT_TAB_RAM)
/* Set the Vector Table base location at 0x20000000 */
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //设置中止向量在RAM
#else /* VECT_TAB_FLASH */
/* Set the Vector Table base location at 0x08000000 */
NVIC_SetVectorTable(NV%&&&&&%_VectTab_FLASH, 0x0); //设置中止向量在FLASH中
#endif
以上的几种解决方案都是网络上收拾所得,再次感谢各位网友的奉献!