TIM2定时器,设置时钟分频、计数周期,打开溢出中断,非常简单的程序
在STM8S207C6上完美运行,一直到同一系列的STM8S207RBT6上,却完全没反应了~~~
改用寄存器操作,依然没有反应。
求高手指教。
程序如下:
#pragma vector=0xF
__interrupt void TIM2_UPD_OVF_BRK_IRQHandler(void)
{
/*------*/
TIM2_SetCounter(0x0000);
TIM2_ClearITPendingBit(TIM2_IT_UPDATE);
}
void TIM2_Init()
{
TIM2_TimeBaseInit(TIM2_PRESCALER_16, 5000);
TIM2_ITConfig(TIM2_IT_UPDATE , ENABLE);
TIM2_Cmd(ENABLE);
__enable_interrupt();
}
使用TIM2_GetCounter()函数读取计数器的值,结果一直是0。
根本没有开始计数啊。
系统时钟设置:
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
应该也没有问题啊?~~~?
高手指点!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
最后我放弃TIM2了,改用TIM3,没有问题了。还是用库函数,只把TIM2改成TIM3就没问题了~~~很奇怪的说。
一周热门 更多>