打印

怎样查看一部分程序运行的时间

[复制链接]
5854|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
不眠的硅谷|  楼主 | 2009-2-20 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠,我用mplab icd 2 调试程序,用什么办法可以知道一部分程序运行了多长时间。谢谢
沙发
machunshui| | 2009-2-20 10:32 | 只看该作者

定时器

定时器

使用特权

评论回复
板凳
不眠的硅谷|  楼主 | 2009-2-20 11:02 | 只看该作者

怎样查看一部分程序运行的时间

谢谢,,能不能用仿真软件直接观查看

使用特权

评论回复
地板
xieyuanbin| | 2009-2-20 14:50 | 只看该作者

用ICD2仿真时是看不到的。

因为控制权在实际运行的芯片那边,如果要看时间,必须使用软件仿真(SIM)或全功能仿真器

使用特权

评论回复
5
NE5532| | 2009-2-23 20:18 | 只看该作者

拿端口做方波,示波器打,最实在的方法了。

使用特权

评论回复
6
lanyong| | 2009-2-24 10:15 | 只看该作者

right

法1:拿端口做方波,示波器打,最实在的方法了。

我也经常这样弄.

法2:定时器 

开头打开,运行后结束.通过串口把值送出来.

法3:软仿

其实,我还是比较喜欢直接烧进去跑.

使用特权

评论回复
7
lanyong| | 2009-2-24 10:18 | 只看该作者

法4

自己按指令条数,一个一个算周期.

使用特权

评论回复
8
yjypmypm| | 2009-2-26 22:09 | 只看该作者

软件仿真可以这样。ICD2没用过。

可以先打开stopwatch  然后在被测程序前设一个断点再在结尾设一个断点。开全速运行,到第一个断点处清stopwatch.再全速运行,到第二个断点时即为运行时间。
如果程序需要硬件返回信号,可暂时用//屏蔽代码(没有仿真器只有这样了)。

使用特权

评论回复
9
hugo0chen| | 2013-8-12 20:21 | 只看该作者
lanyong 发表于 2009-2-24 10:15
法1:拿端口做方波,示波器打,最实在的方法了。我也经常这样弄.法2:定时器 开头打开,运行后结束.通过 ...

用示波器观察的话,如果时间比较快,用比较上等的示波器才好,我现在用的着个50MHz的量测模拟的IO口高低电平脉冲宽度,误差还是挺大的 。

使用特权

评论回复
10
lanyong| | 2013-9-6 10:53 | 只看该作者
hugo0chen 发表于 2013-8-12 20:21
用示波器观察的话,如果时间比较快,用比较上等的示波器才好,我现在用的着个50MHz的量测模拟的IO口高低 ...

50M,足够了啊。pic主频不高的啊。

你可以搞100段这样的程序,去除100,不就知道了嘛。

使用特权

评论回复
11
yewuyi| | 2013-9-6 15:45 | 只看该作者
lanyong 发表于 2013-9-6 10:53
50M,足够了啊。pic主频不高的啊。

你可以搞100段这样的程序,去除100,不就知道了嘛。 ...

PIC16很多新型号都可以达到32M的主频了,呵呵,50M可真的有点慢了哦。

使用特权

评论回复
12
lanyong| | 2013-10-13 09:04 | 只看该作者
yewuyi 发表于 2013-9-6 15:45
PIC16很多新型号都可以达到32M的主频了,呵呵,50M可真的有点慢了哦。

各口出来的信号大多8M而已,50M的示波器看来够用。

使用特权

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

本版积分规则

7

主题

39

帖子

0

粉丝