打印

使用单片机发射脉冲,再接受回波,计算出距离,请问怎么进行计时啊。

[复制链接]
585|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyjie|  楼主 | 2016-9-17 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jiahy| | 2016-9-17 10:06 | 只看该作者
从你发送出脉冲开始计时,然后用中断接收回波,这2个信号直接的时间长度,可以用timer的TAR计算出,然后根据主频来算出时间,

使用特权

评论回复
板凳
jiahy| | 2016-9-17 10:08 | 只看该作者
从你发送出脉冲开始计时,然后用中断接收回波,这2个信号直接的时间长度,可以用timer的TAR计算出,然后根据主频来算出时间,

使用特权

评论回复
地板
jiahy| | 2016-9-17 10:10 | 只看该作者
是的,主要是要用到定时器的捕获功能的啊,在发出脉冲时将timer的TAR值计录一下,然后捕获到回波后,在将此事TAR值记录一下,前后两次的时间差自然就会有了啊

使用特权

评论回复
5
spark周| | 2016-9-17 10:11 | 只看该作者
不过计算这个时间差的时候一定要注意的啊,TAR自动记到65535(16位单片机)就会开始从0开始重新计数的,一定要注意在接收到回波之前TAR有没有跳变的,

使用特权

评论回复
6
wyjie|  楼主 | 2016-9-17 10:12 | 只看该作者
嗯,这个是可以通过Timer的相关寄存器的相关位检查的到的啊

使用特权

评论回复
7
dengdc| | 2016-9-17 10:13 | 只看该作者
对,楼上两位补充的不错

使用特权

评论回复
8
wyjie|  楼主 | 2016-9-17 10:18 | 只看该作者
嗯,那我按大家的说法挨个排查一下,先结贴啦,谢谢哈

使用特权

评论回复
9
mmbs| | 2016-9-17 22:35 | 只看该作者
定时器计算时长呢。

使用特权

评论回复
10
mmbs| | 2016-9-17 22:36 | 只看该作者
可以使用捕获的方法。

使用特权

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

本版积分规则

927

主题

12706

帖子

5

粉丝