STM32 利用定时器来计程序运行时间

来源:互联网 发布:江苏绿叶直销骗局知乎 编辑:程序博客网 时间:2024/05/01 09:54

在单片机的调试过程中,我们经常需要知道某个过程跑一遍的时长,以便更好地对时序进行控制。事实上,利用单片机自带的定时器就能很方便地实现这一功能。

void TIM4_Int_Init(void){TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);     TIM_TimeBaseInitStructure.TIM_Period = 1000000; TIM_TimeBaseInitStructure.TIM_Prescaler=83;  TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitStructure);}void Clock_Start(){TIM4->CNT=0x00;TIM_Cmd(TIM4,ENABLE);}u32 Clock_End(){u32 result;result = TIM4->CNT;TIM_Cmd(TIM4,DISABLE);return result;}
这样,在我们需要计算时长的代码片前启动计时器,在代码片结束的位置关闭计时器,输出结果或对计时结果进行判断即可。

0 0
原创粉丝点击