如上图,我在主函数中初始化了两个函数:Adc_Init() 和 EXTIX_Init(),当把 EXTIX_Init()放在Adc_Init() 前面先初始化时,EXTIX_Init()定义的IO口外部中断服务程序能正常进入;但是当把 EXTIX_Init()放在Adc_Init() 后面初始化时,IO口外部中断服务程序能进不去。通过逐步排除,表面现象是,Adc_Init() 函数中的ADC_Init()函数中定义的局部变量tmpreg1,把它屏蔽了后,哪怕把EXTIX_Init()放在Adc_Init() 后面初始化,IO外部中断服务程序也能正常进入了。注意:只要不屏蔽局部变量tmpreg1,那么就是把ADC_Init()函数中的程序体全部屏蔽也没用(如上图)。请教原因!
|