打印

定时器中断的实际时间

[复制链接]
2966|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenho|  楼主 | 2010-12-2 13:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中断周期时间除了分频器和设置寄存器初始值以外,怎么计算定时器中断的实际时间
沙发
chenho|  楼主 | 2010-12-2 13:17 | 只看该作者
IDE66有没有相关能把程序运行的时间相加起来

使用特权

评论回复
板凳
wenfen| | 2010-12-2 13:25 | 只看该作者
IDE66没有提供实时运行时间的功能

使用特权

评论回复
地板
zhuhuis| | 2010-12-2 13:28 | 只看该作者
这样计算:
1.计算每条指令的时间,中颖MCU为4分频,指令为单周期,如振荡频率为4MHZ,则4分频后,实际的执行频率为1MHZ,则每条指令的时间为1微秒.

使用特权

评论回复
5
zhuhuis| | 2010-12-2 13:28 | 只看该作者
2.定时器预分频值假设为4,则每个定时器的计数时间为1*4=4微秒

使用特权

评论回复
6
zhuhuis| | 2010-12-2 13:28 | 只看该作者
3.设定定时器的初始值,即确定定时器的计数个数,如设置初值为56,则8位定时器的计数值为200,这时定时器的定时时间就为200*4=800微秒.

使用特权

评论回复
7
hengqqq| | 2010-12-2 20:29 | 只看该作者
定时器中断的实际时间

使用特权

评论回复
8
bananarer| | 2010-12-3 08:47 | 只看该作者
定时器是重载的,所以中断周期就是你设置的定时器溢出值的时间

使用特权

评论回复
9
xucd99| | 2010-12-4 22:45 | 只看该作者
打酱油 路过 不明群众围观中

使用特权

评论回复
10
q331513266| | 2010-12-4 23:48 | 只看该作者
很简单,用示波器抓

使用特权

评论回复
11
q331513266| | 2010-12-4 23:48 | 只看该作者
怎么算都有差异

使用特权

评论回复
12
happy_10| | 2010-12-7 17:53 | 只看该作者
主程序里有些地方会关定时器中断,就是中断使能为0,所以定时器有中断标志产生时,不一定会马上执行中断

使用特权

评论回复
13
happy_10| | 2010-12-7 17:53 | 只看该作者
这样就造成定时器中断时间上的不连续性..这样的定时器中断时间怎样去计算

使用特权

评论回复
14
chenho|  楼主 | 2010-12-7 18:48 | 只看该作者
什么思路?你举个例子

使用特权

评论回复
15
happy_10| | 2010-12-7 18:56 | 只看该作者
如果CPU正在处理TO中断,这时的任何中断都不会发生,这样等T0中断处理完后,才能处理T1中断

使用特权

评论回复
16
happy_10| | 2010-12-7 18:56 | 只看该作者
而T0中断子程序运行的时间或指令条数又不一定,所以T1的中断周期也成了不连续了.

使用特权

评论回复
17
zhuhuis| | 2010-12-7 19:18 | 只看该作者
没错,如果程序中有时关闭的中断使能位,此时如果中断产生,只会产生中断标志位

使用特权

评论回复
18
chenho|  楼主 | 2010-12-7 19:38 | 只看该作者
哦,那就不会响应中断

使用特权

评论回复
19
zhuhuis| | 2010-12-7 19:48 | 只看该作者
是的,时间理论上也没办法准确计算

使用特权

评论回复
20
chenho|  楼主 | 2010-12-7 19:53 | 只看该作者
要考虑定时中断的准确性呢?

使用特权

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

本版积分规则

748

主题

9853

帖子

5

粉丝