gpt4 book ai didi

c - IAR(对于STM8)中每100微秒调用的例程的测量时间

转载 作者:行者123 更新时间:2023-12-02 05:08:36 25 4
gpt4 key购买 nike

我正在使用 IAR Embedded 维护一些用于 STM8 的 C 代码。测量代码的一部分与另一部分之间的执行时间的方法是什么?(请考虑到,如果可能的话,我不想停止代码的执行(断点)或写入控制台(因为我发现这会严重影响程序的计时)。

我发现了这样的东西 Techniques for measuring the elapsed time

但这通常适用于 ARM 处理器,因此许多方法不适用于我的设置。我认为像技术 #3 这样的东西可能适用......

具体来说,我问我是否可以做类似的技术

unsigned int cnt1 = 0;
unsigned int cnt2 = 0;

cnt1 = TIM3->CNT;
func();
cnt2 = TIM3->CNT;
printf("cnt1:%u cnt2:%u diff:%u \n",cnt1,cnt2,cnt2-cnt1);

对于这个微 Controller

非常感谢任何帮助

最佳答案

有很多解决方案,但简单的解决方案是在您想要开始/停止测量时间的地方使用硬件引脚和切换引脚,并使用示波器或一些廉价的逻辑分析仪。正如有人提到的,软件有一些变量开始和结束,将当前计时器滴答分配给它们,并在调试中读取它们。您也可以在运行时使用 uart 打印它们,但这也会减慢它们的速度。

关于c - IAR(对于STM8)中每100微秒调用的例程的测量时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40965356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com