stm32f4 TIM1想要1ms进入一次中断,这样配置哪里错了

2019-07-21 02:25发布

一开始这条语句是这样的:TIM_TimeBaseStructure.TIM_Period=42000-1,但是不是经过1ms进入一次中断,而是少于1ms就进入中断了,后来经过尝试,发现TIM_TimeBaseStructure.TIM_Period=30000-1,这样设置,大概经过1ms进入一次中断,但也不是准确的1ms,这是什么原因?

TIM1_Configuration(void){
 
 TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  
  TIM_TimeBaseStructure.TIM_Period=30000-1;
  TIM_TimeBaseStructure.TIM_Prescaler=2-1;
  TIM_TimeBaseStructure.TIM_ClockDivision=0;
 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数模式
 TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);
 TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);//使能定时器的中断
 TIM_Cmd(TIM1, ENABLE);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。