logo资料库

STM32F103R8T6_计算代码运行时间.pdf

第1页 / 共1页
资料共1页,全文预览结束
STM32F103 一段代码执行时间计算方法。——通过定时器的方法 思路:打开定时器 TIMx,其中 TIMx—CNT 初始值设置为 0,运行一段代码的,关闭定 时器,(设置断点)读取关闭定时器后的 TIMx—CNT 计数器的值。此时的值乘以 CNT 的反转 周期就是以上代码的运行时间。具体设置如下: int main(void) { #ifdef DEBUG debug(); #endif TIM2 -> CNT=0x00; //定时器计数初始值设置 0; TIM_Cmd(TIM2, ENABLE); //开启定时器; for(u8 i=0;i<0x2D;i++) //给数组 DDK[45]赋值;(执行的一段代码) { DDK[i]=i; } TIM_Cmd(TIM2, DISABLE); //关闭定时器; Delay(us); //设置断点之处 } Time2 配置 void Config_TIM2(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_DeInit(TIM2); //系统时钟 48MHz TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_Prescaler = 49; TIM_TimeBaseStructure.TIM_Period = 60000; // 48M/(49+1) = 1000kHz 即 1us,CNT 计数一次 // 60000/100k = (600 ms-->10Hz)600ms 进入一次中断。 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //CNT 向上计数方式 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ClearFlag(TIM2, TIM_FLAG_Update); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); }
分享到:
收藏