打印

有些单片机有捕捉功能,捕捉作用是什么啊?

[复制链接]
13286|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nevea|  楼主 | 2007-1-15 14:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jt4117| | 2007-1-15 14:57 | 只看该作者

捕捉可以让我们知道两次外部中断之间的时间。

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
FAQ + 4 赞一个!
板凳
nevea|  楼主 | 2007-1-15 15:03 | 只看该作者

楼上,讲可以知道同一外部中断源的两次中断时间差?

楼上,讲可以知道同一外部中断源的两次中断时间差?

可是,我们为什么要知道这个时间差呢?/
呵呵,新手一个,请大侠不吝赐教!

使用特权

评论回复
地板
hq_y| | 2007-1-15 15:13 | 只看该作者

需要精确测量的时候

使用特权

评论回复
5
jt4117| | 2007-1-15 15:18 | 只看该作者

很多时候有这个功能很方便

具体的项目当你接触的时候就清楚了。
比如说在红外接收上。将外部中断口做红外数据接收端。
因为通常红外编码有头,数据,校验,尾,是根据脉冲宽度不同来区分。
有些编码格式是0,1也是不同宽度的脉冲。有捕捉功能就很容易区分它们。
说白了就是我可以准确判断两个外部事件的时间间隔,这个有些时候很有用的。

使用特权

评论回复
6
nevea|  楼主 | 2007-1-15 15:19 | 只看该作者

高手们 ,能多说点儿吗?

一言一语的,我理解还是不深啊,有时间的高手,多说几句行吗??

使用特权

评论回复
7
jt4117| | 2007-1-15 15:24 | 只看该作者

我也是菜鸟一个

这个就是单片机的一个功能而以,理解了就行了。具体用到的时候就会明白。其实真正跟高手要学习的不是这个,是程序的“算法”和“结构”。

使用特权

评论回复
8
nevea|  楼主 | 2007-1-15 15:27 | 只看该作者

感谢楼上,

也就是说 一般I2C和SMbus 这种串口,使用捕捉的情况多一些,是吗?谢谢!

使用特权

评论回复
9
coldra| | 2007-1-15 15:30 | 只看该作者

5楼说的很明白了

再举个例子,曾做过一个测车轮转速的设备,车轮上安装传感器,每转一周产生一个脉冲,当然可以用普通IO口查询,可是太浪费单片机运转时间,如果转快了可能还要丢失一些脉冲,没人会这样做。

也可以用普通外部中断,可是每次中断都要读下定时器的值并清零定时器准备下一次中断,有些麻烦因要值行一些软件语句会产生误差,也就是实际读到的并不是中断时刻的值。

而如果用捕获,设置好,每次硬件中断自动保存时间值,中断之后读出来就可以了。

使用特权

评论回复
10
nevea|  楼主 | 2007-1-15 15:38 | 只看该作者

呵呵,我想我明白一些了.谢谢各位!!

使用特权

评论回复
11
iC921| | 2007-1-21 16:49 | 只看该作者

这个问题,我看不明白

你就说明是什么单片机的什么捕捉功能吧。讲出来,没两下就有答案了。

使用特权

评论回复
12
nevea|  楼主 | 2007-1-22 09:03 | 只看该作者

谢谢楼上哥哥费心

我只求个初步理解,等具体到项目时如有不懂的再向诸位详细请教!

使用特权

评论回复
13
fangfei036| | 2012-4-27 13:31 | 只看该作者
看到这个帖子这么有爱,我也想问问,请我前辈们 捕捉功能捕捉到输入的数据,得到两个脉冲的时间段的时间,这个时间是怎么算出来的????有啥公式吗?

使用特权

评论回复
14
qzlbwang| | 2012-4-27 13:43 | 只看该作者
捕捉只是记录发生事件的时刻。要知道两次事件发生之间的时间,只需要两次的时刻相减。

使用特权

评论回复
15
logokfu| | 2012-4-27 14:18 | 只看该作者
好问题

使用特权

评论回复
16
ldk060| | 2013-5-29 16:09 | 只看该作者

使用特权

评论回复
17
shiba1986| | 2013-5-30 09:00 | 只看该作者
以前用捕捉做过频率转电流

使用特权

评论回复
18
小白狼82| | 2013-6-30 23:05 | 只看该作者
如果两次事件的时间间隔较大,如第二次捕获时间已经超出了16位计数的时间如何计算两次事件的差值?

使用特权

评论回复
19
qzlbwang| | 2013-7-1 07:41 | 只看该作者
小白狼82 发表于 2013-6-30 23:05
如果两次事件的时间间隔较大,如第二次捕获时间已经超出了16位计数的时间如何计算两次事件的差值? ...


可以设一计数器,当定时器中断时该计数器加1。捕捉后查计数器值。若本次捕捉值比上次值小,则另加上(N-1)倍的定时器溢出值(0X10000)。比上次大的话则加上N倍的定时器溢出值。退出前记得将计数器清零。

使用特权

评论回复
20
apple| | 2013-7-1 08:21 | 只看该作者
捕捉功能能更加准确的记录事件发生的时间,比中断还快!

使用特权

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

本版积分规则

16

主题

306

帖子

0

粉丝