void Time4Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
TIM_TimeBaseStructure.TIM_Period = 65535;
TIM_TimeBaseStructure.TIM_Prescaler = (72 - 1);//72M / 72 = 1us
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
}
从0开始开启定时器TIM4 TIM_GetCounter(TIM4)得到的计数值 如何计算时间 单位是多少 拜托讲下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
您好 哪里不对了
TIM_TimeBaseStructure.TIM_Prescaler = 400 - 1; //分频系数,(400-1+1)= 400分频
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimeBaseStructure.TIM_RepetitionCounter =0;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基
数单位
TIM_ClearFlag(TIM2,TIM_FLAG_Update); //清除TIM更新标志
TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update); //清除中断标志
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE ); //使能指定的TIM2中断,允许更新中断
TIM_Cmd(TIM2, ENABLE); [/mw_shl_code]
一周热门 更多>