alex88 发表于 2016-8-8 16:30:46

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();
}

alex88 发表于 2016-8-8 17:44:54

忘了一个条件,就是打开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 ?

lost1421 发表于 2016-8-9 13:17:28

你是如何确定另外一个Timer不公作的?

rick1234 发表于 2016-10-14 15:51:04

你应该是,没有清益处中断,在Ti.c里面清就行,

ynwscfsfi 发表于 2016-10-15 11:05:18

你有没有中断函数的,要清除中断标志
页: [1]
查看完整版本: STM8S定时器