【发布时间】:2016-09-28 16:50:47
【问题描述】:
在 32 位微控制器上,我想针对微控制器的不同工作频率测量代码的执行时间。首先我使用了周期性定时器(PIT),但它没有提供高分辨率,因为如果我以高频操作 PIT,那么它的计数器就会溢出。所以我转向系统定时器(STM),因为它可以在系统时钟下运行。但在微控制器的不同工作频率下,STM 给出的代码执行时间相同。你们中的任何人都可以在这件事上帮助我吗?谢谢
【问题讨论】:
-
“相同的执行时间”是否意味着系统计时器的计数器值计数相同的滴答数?您是否忘记将计数器值除以滴答率以转换为时间?
-
是的,我的意思是''执行时间''系统计时器的计数器值计数相同的滴答数。在不同的工作频率下,系统定时器的计数器值是相同的。是的,我没有划分计数器值。能否请您详细说明。
-
当你改变运行频率的时候,你是不是也改变了系统定时器的滴答率?所以 n 以原始滴答速率滴答的时间量与 n 滴答以改变的滴答速率滴答的时间量不同。您的计数器计算的滴答数相同,但时间不同,对吧?
-
我想我明白了。我有这个场景,让微控制器的工作频率为 ''X'' ,为了执行一段代码让系统计时器的值为 ''A'' 然后我将微控制器的工作频率更改为 ''Y'' ,但是系统计时器的值再次为 ''A'' 。您的意思是我必须将“A”除以工作频率。这样执行时间会不一样吗?对吗?
-
是的,定时器的计数器值表示滴答数(即时钟脉冲)。您需要将计数器值除以计时器的滴答率(滴答/秒),以便将滴答转换为秒。在我看来,当您更改系统的运行频率时,计时器的滴答率可能会发生变化,
标签: performance time timer microcontroller nxp-microcontroller