计数时间问题

2019-08-14 15:44发布

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)得到的计数值 如何计算时间  单位是多少 拜托讲下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
大家跟我一起数
1楼-- · 2019-08-14 19:33
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-08-14 21:29
看资料,好好学习定时器先
asngj
3楼-- · 2019-08-15 01:13
大家跟我一起数 发表于 2017-8-9 22:40
你这配置对吗?  不对吧

您好 哪里不对了
八极天
4楼-- · 2019-08-15 06:16
每个时钟计数一次,计算一个数值到底多少时间就是72M/PSC/CLK_DIV
月无缺
5楼-- · 2019-08-15 07:48
[mw_shl_code=c,true]TIM_TimeBaseStructure.TIM_Period = 1000 - 1;                //自动重装载值,定时时间 T = 1000 * 400/8M = 50ms
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]
月无缺
6楼-- · 2019-08-15 10:47
 精彩回答 2  元偷偷看……

一周热门 更多>