32为定时器TIM2的CNT为什么首次必须计到0xffffffff
我设置的重装载值无论多少第一个周期特别长,设置时必须手动将CNT置最大值才行。恳请专家指导!配置发一下,TIM有向上计数和向下计数。 安 发表于 2015-7-29 15:35
配置发一下,TIM有向上计数和向下计数。
void TIM2_init(void)
{
RCC->APB1ENR|=0x01;
TIM2->CR1=0x80;
TIM2->DIER=0x0001;
TIM2->ARR=2000;
TIM2->PSC=99;
TIM2->CNT=0xffffffff;
TIM2->CR1|=1;
NVIC->ISER|=1<<28;
NVIC->IP|=0xf0;
}
安 发表于 2015-7-29 15:35
配置发一下,TIM有向上计数和向下计数。
求大神指教 TIM2->CNT=0xffffffff; 为什么没这句就出问题,第一个周期,之后就OK了 用的是哪个芯片? 安 发表于 2015-7-29 16:01
用的是哪个芯片?
我用的是 STM32F411RET6 CNT默认值是0。如果CNT不设置,这个时候需要计数到0才能产生更新事件。建议配置是设置CNT值。
楼主可以仿真一下,在不设置CNT值,进入中断以后,CNT的值是多少。 安 发表于 2015-7-29 16:46
CNT默认值是0。如果CNT不设置,这个时候需要计数到0才能产生更新事件。建议配置是设置CNT值。
楼主可以仿真 ...
不是到重装载值产生更新时间吗。。。。 定时器计数分向上计数和向下计数。
页:
[1]
2