stm32查看代码运行时间[stm32f7xx]

1、初始化1个定时器

TIM5_Init(-1,108-1);//arr为最大值(unsigned int)-1,让其一直往上加,最大值42亿us,即最大可表示4200秒,分频系数psc为108,即每+1等于1us

void TIM5_Init(u32 arr,u16 psc) { TIM5_Handler.Instance=TIM5; //通用定时器5 TIM5_Handler.Init.Prescaler=psc; //分频 //可设置范围为0至65535,实现1至65536分频 此处psc+1分频 TIM5_Handler.Init.CounterMode=TIM_COUNTERMODE_UP; //向上计数器 TIM5_Handler.Init.Period=arr; //自动装载值 TIM5_Handler.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1; //时钟分频因子 HAL_TIM_Base_Init(&TIM5_Handler); HAL_TIM_Base_Start_IT(&TIM5_Handler); //使能定时器5和定时器5更新中断:TIM_IT_UPDATE }

2、定义全局变量

unsigned int t1,t2;//用于保存执行代码前后的定时器5的计数器值

3、具体运用在代码上

t1=TIM5_Handler.Instance->CNT; AT24CXX_Write(79,ppp,30);//查看改行代码花费时间 t2=TIM5_Handler.Instance->CNT;

t2-t1等于代码执行花费时间,单位为us

4、特别说明:TIM5_Handler.Instance->CNT超过最大值42亿时,会清零

经验分享 程序员 微信小程序 职场和发展