打印
[STM32L0]

如何计算中断从开始调用到返回所消耗的时间,打断点除外

[复制链接]
3466|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songchenping|  楼主 | 2015-7-24 09:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在有一段函数在TIM2中断处理函数中执行,我想知道TIM2从中断调用开始到中断返回所消耗的时间。初步想法是想用另外一个定时器进行计数,但是不清楚应该什么时候去启动和读回计数值。
沙发
songchenping|  楼主 | 2015-7-24 09:23 | 只看该作者
打断点的方法除外。因为我们想让连续执行,并且通过Terminal I/O log出来计数值,看平均消耗时间,

使用特权

评论回复
板凳
Leeone| | 2015-7-24 09:25 | 只看该作者
你要知道这个干吗,要多精确,粗略的可以进中断开 推中断读定时器

使用特权

评论回复
地板
fengzaideng| | 2015-7-24 09:35 | 只看该作者
是不是整个变量计数,退出中断时串口打印出来再算时间。

使用特权

评论回复
5
songchenping|  楼主 | 2015-7-24 09:42 | 只看该作者
Leeone 发表于 2015-7-24 09:25
你要知道这个干吗,要多精确,粗略的可以进中断开 推中断读定时器

这个我知道。但是错过了调用和返回的时间。

使用特权

评论回复
6
songchenping|  楼主 | 2015-7-24 09:44 | 只看该作者
fengzaideng 发表于 2015-7-24 09:35
是不是整个变量计数,退出中断时串口打印出来再算时间。

我需要的是在进入TIM2中断的时候开始计数,退出中断后停止计数。

使用特权

评论回复
7
songchenping|  楼主 | 2015-7-24 09:47 | 只看该作者
举个例子。我用TIM21来计算TIM2中断所消耗的时间。我必须在TIM2即将进入中断之前使能TIM21,然后TIM2中断处理完成后返回到主程序后停止计数,打印出来此时TIM21的计数值,由此来推算时间。

使用特权

评论回复
8
Leeone| | 2015-7-24 10:47 | 只看该作者
songchenping 发表于 2015-7-24 09:47
举个例子。我用TIM21来计算TIM2中断所消耗的时间。我必须在TIM2即将进入中断之前使能TIM21,然后TIM2中断处 ...

进入中断前使能 和退出中断后停止 这个好像做不到,你根本不知道什么时候进中断

使用特权

评论回复
9
mybao| | 2015-7-24 10:55 | 只看该作者
软仿真里面可以计算函数调用所需要的cycle,但是不包括FLASH的等待时间

使用特权

评论回复
10
songchenping|  楼主 | 2015-7-24 10:59 | 只看该作者
Leeone 发表于 2015-7-24 10:47
进入中断前使能 和退出中断后停止 这个好像做不到,你根本不知道什么时候进中断 ...

我看了一下,有同步机制(一个定时器触发另外一个定时器),但是只针对触发源的上升沿和下降沿。

看来想计算包括调用和返回的时间不太容易啊。

使用特权

评论回复
11
songchenping|  楼主 | 2015-7-24 11:00 | 只看该作者
mybao 发表于 2015-7-24 10:55
软仿真里面可以计算函数调用所需要的cycle,但是不包括FLASH的等待时间

我看一下。

使用特权

评论回复
12
玛尼玛尼哄| | 2015-7-24 11:36 | 只看该作者
不知道啊,这是咋弄的。

使用特权

评论回复
13
351327851| | 2015-7-24 16:42 | 只看该作者
嗯?

使用特权

评论回复
14
fanxsd| | 2015-7-24 22:03 | 只看该作者
挂个 IO口的反转指令,然后示波器 就看出来了。

使用特权

评论回复
15
justtest111| | 2015-7-25 08:26 | 只看该作者
fanxsd 发表于 2015-7-24 22:03
挂个 IO口的反转指令,然后示波器 就看出来了。

+1。。。。。

使用特权

评论回复
16
diweo| | 2015-7-25 09:25 | 只看该作者
感觉你有点走火入魔了。
有这个时间还不如把《CM3权威指南》多看几遍。

使用特权

评论回复
17
lwsn| | 2015-7-25 09:43 | 只看该作者
打断点方便省事,怎么不用

使用特权

评论回复
18
fanxsd| | 2015-7-25 10:06 | 只看该作者
lwsn 发表于 2015-7-25 09:43
打断点方便省事,怎么不用

软件模拟计时 误差比较大!

使用特权

评论回复
19
songchenping|  楼主 | 2015-7-25 10:35 | 只看该作者
fanxsd 发表于 2015-7-24 22:03
挂个 IO口的反转指令,然后示波器 就看出来了。

不精确吧

使用特权

评论回复
20
songchenping|  楼主 | 2015-7-25 10:37 | 只看该作者
lwsn 发表于 2015-7-25 09:43
打断点方便省事,怎么不用

需要看连续运行的平均时间啊。有些是不能打断点的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:技术合作可以通过以下方式: QQ:745995275 非技术合作恕不回复。

317

主题

11996

帖子

78

粉丝