我用tim2进行的按键扫描程序,但是一开中断整个程序就没反应。
void TIM2_configuration(void)
{
TIM2_DeInit();//TIM2初始化
TIM2_TimeBaseInit(TIM2_PRESCALER_2,10000);//配置TIM2内部时钟基准,定时10ms
TIM2_ITConfig(TIM2_IT_UPDATE,ENABLE);//设置TIM2中断,更新
TIM2_Cmd(ENABLE);//开启TIM2使能
}
/*中断函数*/
#pragma vector=15__interrupt
void TIMER2_IRQHander(void)
{
Key_Value=keyscan();
TIM2_ClearITPendingBit(TIM2_IT_UPDATE);
}
这个设置哪个地方错了??
是不是键盘扫描不用tim2定时中断???????????????????
现在的问题是主要只要有enableInterrupts();这个函数,整个函数就无法运行,但没这个函数怎么进中断啊。
说明你的中断没清除成功,一直在进入中断。你试一下用这句:TIM2->SR1 = 0x00;
还是不管用,不知道是STVD的原因,之前用的IAR就没问题。
TIM2_configuration,这个函数中,应该先开启TIM2使能,再去设置tim2中断吧?