你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
xmshao 发表于 2024-8-21 10:40 Event Recorder 是KEIL调试器的部件,属于软件组件,即它是一个软件层面的工具,通过在应用代码中插入事件 ...
我也是刚研究,加一行i++代码,运行时间会变成1.63us
但是这个空语句运行的时间不是确定的,会有几十纳秒波动
那我该怎样保证算出来的时间的准确性呢
用它的API指令放在语句前后,也会有1.5us左右的误差
我也是刚研究,中间加一个i++,运行时间为1.63us
我测试都是有波动的,误差感觉在几十ns
用API的指令测试也是
那怎么保证这个测量的时间的准确性呢
但是这个时间他好像也不是确定的,会有几十ns的误差,我这里是这样显示的
包括我用他自带的API的指令,自己减了一下也是1.5us左右
我加一行i++语句,显示时间是这么多,减去上面那个,差不多0.07us,70ns,我也感觉有点大了
但是每次这样计算就很麻烦,而且这个空语句运行也有误差,有没有大佬告知一下为啥啊,脑壳痛,这个计算时间准吗
butterflyspring 发表于 2024-8-21 17:36 这个从原理上看,它依据芯片的trace功能,这个功能又与trace的频率以及SWO的输出频率有关。</p> <p>
好滴
要是想精确的测量一段代码的运行时间,各位大佬有啥好意见吗
XNHTHLY 发表于 2024-8-22 09:26 要是想精确的测量一段代码的运行时间,各位大佬有啥好意见吗
试试用 DWT 计数器,这个是以内核频率计数的。
原来这样啊。
用STM32片内定时器多方便,又准确。其它分辨率不可能高于定时器的计数分辨率了,此时就不要对TIMER做分频了。
butterflyspring 发表于 2024-8-22 10:12 试试用 DWT 计数器,这个是以内核频率计数的。
好滴,这个精确一点,我用过啦
xmshao 发表于 2024-8-22 13:37 原来这样啊。</p> <p>用STM32片内定时器多方便,又准确。其它分辨率不可能高于定时器的计数分辨率了,此时 ...
定时器也好用,现在我觉得这个Event Recorder一点都不好用
XNHTHLY 发表于 2024-8-22 15:42</p> <p>定时器也好用,现在我觉得这个Event Recorder一点都不好用
刚刚用Event Recorder测一个50us中断,只用A0,显示47.7us左右,这个还可以接受,在随便加一个A1,两个都不对了,不知道为啥
micropthon开发板试用有吗?
CubeAI如何加载caffe模型
F407 PWM功能,GPIO引脚空闲时电平与配置不一致
有没有用micropython的小白?
STM32F407 128个点FFT问题请教
st注册邮箱收不到为什么
PWM问题
cubeMX lwip 出错
固件增加烧录报错
STM32F407 用定时器控制SPI传输的相关问题
本身记录的这个函数也要运行一段时间,所以它的精度用来记录一些事件还行。
如果精确记录指令,那是达不到的,本身工具的输出频率就远低于主频的。
来记录和分析系统事件。个人对这个不太了解,有了解的人可以聊聊。
两个操作间有延时应该是可以理解的,至于具体多长延时合理,跟它的运行机制以及当前系统有关,每次对event recorder的调用
与完成执行肯定是有时间开销的。
我也是刚研究,加一行i++代码,运行时间会变成1.63us
但是这个空语句运行的时间不是确定的,会有几十纳秒波动
那我该怎样保证算出来的时间的准确性呢
用它的API指令放在语句前后,也会有1.5us左右的误差
我也是刚研究,中间加一个i++,运行时间为1.63us
我测试都是有波动的,误差感觉在几十ns
用API的指令测试也是
那怎么保证这个测量的时间的准确性呢
但是这个时间他好像也不是确定的,会有几十ns的误差,我这里是这样显示的
包括我用他自带的API的指令,自己减了一下也是1.5us左右
我加一行i++语句,显示时间是这么多,减去上面那个,差不多0.07us,70ns,我也感觉有点大了
但是每次这样计算就很麻烦,而且这个空语句运行也有误差,有没有大佬告知一下为啥啊,脑壳痛,这个计算时间准吗
好滴
要是想精确的测量一段代码的运行时间,各位大佬有啥好意见吗
试试用 DWT 计数器,这个是以内核频率计数的。
原来这样啊。
用STM32片内定时器多方便,又准确。其它分辨率不可能高于定时器的计数分辨率了,此时就不要对TIMER做分频了。
好滴,这个精确一点,我用过啦
定时器也好用,现在我觉得这个Event Recorder一点都不好用
刚刚用Event Recorder测一个50us中断,只用A0,显示47.7us左右,这个还可以接受,在随便加一个A1,两个都不对了,不知道为啥