本帖最后由 fengyefeng 于 2014-11-2 18:04 编辑
定时器初始化如下:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
TIM_TimeBaseStructure.TIM_Prescaler = PSC;//预分频因子,
TIM_TimeBaseStructure.TIM_CounterMode = TimerMode;//计数模式
TIM_TimeBaseStructure.TIM_Period = LoadTime;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseInit(TIMx, &TIM_TimeBaseStructure); //设置预分频器和计数器等参数
TIM_ClearFlag(TIMx,TIM_FLAG_Update); //清除溢出中断标志
TIM_ITConfig(TIMx, TIM_IT_Update, ENABLE); //设置定时器溢出中断
中断如下:
void TIM2_IRQHandler(void)
{
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
{
printf("定时器中断成功了\n\r");
}
TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update); //清除定时器中断发生标记
}
还请各位多看看是不是哪里有问题
|