OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2986|回复: 10

新人有个问题想问问,关于通用定时器输入捕获

[复制链接]

1

主题

7

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2016-5-27
在线时间
2 小时
发表于 2016-5-27 10:00:22 | 显示全部楼层 |阅读模式
6金钱
  最近在做关于超声波测距的课程设计,用的是stm32zet6的板子,搜了几个帖子看了一下,原子哥的例程也研究了。     现在的问题是我想用TIM5同时捕获四个HC-SR04超声波模块的高电平,我看了一个帖子,如果CH1在捕获的时候,进入中断,CH2就不能进入中断,必须等待CH1计算完出中断才能进入,这样就不能达到同时控制四个超声波的效果。这种情况需要怎么办?难道要换成串口的超声波来用(最好是可以用HC-SR04)??

先谢谢为我解答的坛友。

最佳答案

查看完整内容[请看2#楼]

计算别放在中断里面,在中断里面就记录下CNT的数值,以及改变一些标记,然后在中断外面判断标记,然后进行计算。如果是72M系统时钟的话,跑100个基本语句也就1/720000秒,如果你对精度要求已经达到这种程度的话,我是无能为力的。 你4个都要计算,在某一个进入中断的时候,别的总是在挂起等待的。如果总要考虑中断里面那些代码的时间的话,很多东西就没法干了。误差只要在允许的范围内都是可以接受的,就算是接收到上升沿到进入 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-5-27 10:00:23 | 显示全部楼层
本帖最后由 憨厚诚实大叔 于 2016-5-27 17:48 编辑
asdkder 发表于 2016-5-27 15:20
我知道中断只能进一个,原子哥的程序输入捕获实验是在中断中计算完成高电平的时间。
当然是要在第一个超 ...

计算别放在中断里面,在中断里面就记录下CNT的数值,以及改变一些标记,然后在中断外面判断标记,然后进行计算。如果是72M系统时钟的话,跑100个基本语句也就1/720000秒,如果你对精度要求已经达到这种程度的话,我是无能为力的。
你4个都要计算,在某一个进入中断的时候,别的总是在挂起等待的。如果总要考虑中断里面那些代码的时间的话,很多东西就没法干了。误差只要在允许的范围内都是可以接受的,就算是接收到上升沿到进入中断,都是需要几个时钟的。
回复

使用道具 举报

13

主题

201

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2015-4-26
在线时间
173 小时
发表于 2016-5-27 10:02:24 | 显示全部楼层
好浪费芯片啊。。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2016-5-27
在线时间
2 小时
 楼主| 发表于 2016-5-27 10:03:23 | 显示全部楼层
康仔呦 发表于 2016-5-27 10:02
好浪费芯片啊。。

额,后期还有功能需要加入
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-5-27 11:29:07 | 显示全部楼层
本来就是一个时间只能进入一个中断,难道你认为开了4个定时器,一个定时器捕获一个通道,就能同时进入4个中断了?????
你的捕获是打算记录高电平时间还是,捕获上升沿继续操作??
建议你在中断里面只是记录cnt,然后在中断外面计算。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2016-5-27
在线时间
2 小时
 楼主| 发表于 2016-5-27 15:20:06 | 显示全部楼层
憨厚诚实大叔 发表于 2016-5-27 11:29
本来就是一个时间只能进入一个中断,难道你认为开了4个定时器,一个定时器捕获一个通道,就能同时进入4个中 ...

我知道中断只能进一个,原子哥的程序输入捕获实验是在中断中计算完成高电平的时间。
当然是要在第一个超声波高电平的时候剩余的超声波也需要记录高电平时间,这样才能达到同时使用四个超声波的效果。
按你的说法我感觉也会有误差,在中断里记录CNT,还是会出错。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2016-5-27
在线时间
2 小时
 楼主| 发表于 2016-5-27 15:43:22 | 显示全部楼层
如果使用轮询来做,是不是触发的抢占优先级设置就要改了,不然一直都是一个进去算
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2016-5-27
在线时间
2 小时
 楼主| 发表于 2016-5-27 19:14:00 | 显示全部楼层
本帖最后由 asdkder 于 2016-5-27 19:15 编辑

刚才12v电源不小心碰到I/O,板子上的ams1117发热严重。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2016-5-27
在线时间
2 小时
 楼主| 发表于 2016-5-27 19:14:13 | 显示全部楼层
板子坏了
回复

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2016-5-18
在线时间
56 小时
发表于 2016-7-20 15:18:17 | 显示全部楼层
楼主,请问hc-sr04高电平输入捕获时需要滤波吗?
回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-1-21
在线时间
12 小时
发表于 2016-10-28 14:37:42 | 显示全部楼层
我也遇到这样的问题了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 10:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表