TIM4为8位定时器,你设定为16分频,只能向上计数,设定250应是定时250us的呀,
我使用TIM4是这样设定的
void TIM4_initialzation(void)
{
//16M时钟 设定计数时钟128的分频,计数周期为1ms,//初始化计数器值,设定自动重载寄存器值
TIM4_TimeBaseInit(TIM4_PRESCALER_128,125 );
TIM4_PrescalerConfig(TIM4_PRESCALER_128, TIM4_PSCRELOADMODE_IMMEDIATE);
TIM4_SetCounter(0x0000);//将计数器的初始值设置为0
TIM4_ARRPreloadConfig(ENABLE);
TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);//允许计数溢出中断
TIM4_Cmd(ENABLE); //启用定时器
}
示波器看过,没有问题,1ms准准的
|