STM8S定时器
我把STM8S的定时器1和定时器4同时初始化和打开。然后分别在定时器1中断函数和定时器4中断函数里处理程序,发现定时器4不工作,当屏蔽定时器1后,定时器4就能工作了,这是怎么回事啊?如下:void Tim1_Init(void)
{
TIM1_TimeBaseInit(0,TIM1_COUNTERMODE_UP,4000,0);
TIM1_ARRPreloadConfig(ENABLE);
TIM1_ITConfig(TIM1_IT_UPDATE , ENABLE);
TIM1_Cmd(ENABLE);
__enable_interrupt();
}
void Time4init(void)
{
TIM4_DeInit();
TIM4_TimeBaseInit(TIM4_PRESCALER_32,125 );
TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
TIM4_Cmd(ENABLE);
__enable_interrupt();
}
忘了一个条件,就是打开ADC2时,两个定时器就不能同时工作了。
ADC2_DeInit();
ADC2_Init(ADC2_CONVERSIONMODE_CONTINUOUS, ADC2_CHANNEL_10, ADC2_PRESSEL_FCPU_D2, ADC2_EXTTRIG_TIM, DISABLE, ADC2_ALIGN_RIGHT, ADC2_SCHMITTTRIG_CHANNEL10, DISABLE);
ADC2_ITConfig(ENABLE);
ADC2_StartConversion();
ADC2的初始化如上所示,是不是ADC2的触发不能选ADC2_EXTTRIG_TIM ? 你是如何确定另外一个Timer不公作的? 你应该是,没有清益处中断,在Ti.c里面清就行, 你有没有中断函数的,要清除中断标志
页:
[1]