【发布时间】:2017-07-03 22:07:25
【问题描述】:
我想测量一个函数在 STM32 上需要多长时间。我唯一能找到的是SysTick_Handler。但是,这是一个周期性中断,但我需要的是获取时间间隔,例如:
long t1 = mcu_clock();
sleep(20);
long t2 = mcu_clock();
long diff = (t2 - t1);
我已经尝试过 C clock(),但它不起作用并且总是返回 -1。我怎样才能做到?
【问题讨论】:
-
在
SysTick_Handler中增加一个变量并查询该变量。 -
@BenceKaulics 这是唯一的解决方案吗?这似乎是一种解决方法。
-
您必须以任何一种方式设置一个计时器并跟踪它。最容易使用的 sys 刻度和一个简单的变量。 ST 的官方 HAL 库也是这样做的,例如:stm32F0xx_hal.c
标签: time stm32 microprocessors