一、前言
Keil | 使用Register Windows测量函数的运行总时间
先说明一下,这个测量方法跟STM32F407没啥关系,其他单片机一样能用这个方法测试函数的执行时间,这一次实验只是在STM32F407上实践而已。前面介绍过使用Keil的Register Window + 断点的方式可以测量某个函数的运行时间。所以,测量的前提是你用Keil软件作为嵌入式开发的IDE,其他IDE就不适用了。这里使用硬件的方式来测量某个函数的运行时间,不过要准备一个示波器,而且会简单地使用它。
总的来说,使用MCU的GPIO翻转 + 示波器的方法实现“测量某个函数的执行时间”。
二、GPIO
这里,我使用PC7作为GPIO口。使用示波器的探头+极连接上它,然后示波器的探头-极连接到GND。
三、代码
添加代码,其实就是将GPIO的电平变化。
四、示波器测试结果
从示波器的结果看来,低电平的持续时间虽然会波动,但是低电平的持续时间不超过1us。
五、细节补充
上一次使用Keil的Register Window测量的结果为:约2us
这一次使用示波器测试的结果为:约1us
两次测试的结果虽然不一样,但是非常接近的。那么,我完全可以认为那个被测试的函数执行时间不超过3us,保守起见。