OpenEdv-开源电子网

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

分享一个超声波测距的STM32程序

  [复制链接]

3

主题

35

帖子

0

精华

高级会员

Rank: 4

积分
916
金钱
916
注册时间
2014-4-28
在线时间
75 小时
发表于 2014-6-3 00:11:27 | 显示全部楼层 |阅读模式
分享一个超声波测距的STM32程序,参考了原子哥的例程,在此表示感谢!

STM32超声波测距.zip

6.86 MB, 下载次数: 273890

来路长   前程湮   待从头拨断琴弦
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2014-10-3 14:38:51 | 显示全部楼层
“UltrasonicWave_Distance=TIM_GetCounter(TIM2)*5*34/200.0;”   这里乘以5是啥意思?
手艺人要内外兼修。
回复 支持 3 反对 0

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2014-6-3 18:15:32 | 显示全部楼层
谢谢分享,我顶~
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-6-3 20:01:31 | 显示全部楼层
谢谢分享、、、
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

168

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2014-4-12
在线时间
0 小时
发表于 2014-7-25 10:32:31 | 显示全部楼层
用什么显示的?
规格严格,功夫到家
回复 支持 反对

使用道具 举报

17

主题

168

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2014-4-12
在线时间
0 小时
发表于 2014-7-25 10:41:08 | 显示全部楼层
木有硬件连接图?
规格严格,功夫到家
回复 支持 反对

使用道具 举报

3

主题

35

帖子

0

精华

高级会员

Rank: 4

积分
916
金钱
916
注册时间
2014-4-28
在线时间
75 小时
 楼主| 发表于 2014-7-25 20:19:14 | 显示全部楼层
回复【5楼】FMX_2011:
---------------------------------
数据通过串口返回到串口调试助手,要连的就两根线,程序里面有说明
来路长   前程湮   待从头拨断琴弦
回复 支持 反对

使用道具 举报

3

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-12-30
在线时间
4 小时
发表于 2014-8-28 17:39:58 | 显示全部楼层
问下串口显示出来结果是对的,可是距离的小数点太多,我想减少点,可是找不到显示函数,问下在哪呢?
回复 支持 反对

使用道具 举报

3

主题

35

帖子

0

精华

高级会员

Rank: 4

积分
916
金钱
916
注册时间
2014-4-28
在线时间
75 小时
 楼主| 发表于 2014-8-29 12:22:19 | 显示全部楼层
回复【7楼】申继鹏:
---------------------------------
在UltrasonicWave.c文件里的void EXTI9_5_IRQHandler(void)中断函数里面,
printf("distance:%f cm",UltrasonicWave_Distance*2);这一句,要保留一位小数的话将 %f 改为 %.1f ,
保留两位的话改为2,依次类推。希望能帮到你
来路长   前程湮   待从头拨断琴弦
回复 支持 反对

使用道具 举报

11

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2014-4-1
在线时间
0 小时
发表于 2014-9-18 10:19:33 | 显示全部楼层
楼主有硬件图吗?
回复 支持 反对

使用道具 举报

20

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2014-3-23
在线时间
22 小时
发表于 2014-9-21 23:36:35 | 显示全部楼层
楼主及原子哥可否考虑过如果多个超声波进行数据采集那么这个中断优先级该如何确定啊,不太敢想象
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-10-31
在线时间
0 小时
发表于 2014-10-31 19:27:57 | 显示全部楼层
谢谢分享~~~~~~~
在文字区内的文字将附加在您发表的文章上, 以 200 个字为限,请按回车换行
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2014-11-5
在线时间
3 小时
发表于 2014-11-7 10:54:42 | 显示全部楼层
谢谢分享,有用捕获做的吗?
回复 支持 反对

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2014-11-7 20:43:27 | 显示全部楼层
能测多远的距离啊
让我们的思维驾驭在电的速度之上!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-3-3
在线时间
8 小时
发表于 2015-3-3 10:00:18 | 显示全部楼层
数据时不时有问题,我觉得还不稳定,经常出现1。6米左右的数据
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2015-3-5
在线时间
0 小时
发表于 2015-3-5 09:25:21 | 显示全部楼层
请问我下载完烧进去之后,测出来的距离是0.85,一直不变,也就是TIM_GetCounter(TIM2)函数测出来的一直是1,请大神帮解一下,感激不尽!
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2015-3-5
在线时间
0 小时
发表于 2015-3-5 09:27:14 | 显示全部楼层
回复【15楼】梦想:
---------------------------------
你的能测出来?为什么我的测出数据是0.85,一直不变!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-3-3
在线时间
8 小时
发表于 2015-3-6 09:56:24 | 显示全部楼层
回复【17楼】穆罕潆荻旎:
---------------------------------
串口助手怎么设置的,接线是否有问题
回复 支持 反对

使用道具 举报

3

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
423
金钱
423
注册时间
2015-3-8
在线时间
39 小时
发表于 2015-3-8 22:06:39 | 显示全部楼层
感谢楼主分享~~~
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-3-22
在线时间
0 小时
发表于 2015-3-22 22:25:03 | 显示全部楼层
回复【18楼】梦想:
---------------------------------
不就 是波特率为9600 其他都是默认么?我测出来的都是0.85不管怎么变
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-3-22
在线时间
0 小时
发表于 2015-3-23 18:35:30 | 显示全部楼层
回复【8楼】清风莞尔:
---------------------------------
楼主我测出来的老是0.85 是为何啊
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-4-18
在线时间
0 小时
发表于 2015-4-26 21:41:05 | 显示全部楼层
回复【16楼】穆罕潆荻旎:
---------------------------------
请问你的0.85m的这个问题解决了吗?
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-4-18
在线时间
0 小时
发表于 2015-4-26 21:41:15 | 显示全部楼层
回复【21楼】ZYC111:
---------------------------------
请问你的0.85m的这个问题解决了吗?
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-4-18
在线时间
0 小时
发表于 2015-4-26 21:42:42 | 显示全部楼层
回复【15楼】梦想:
---------------------------------
请问你的程序能用了吗,为什么我的一直是0.85不懂呢
回复 支持 反对

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2015-3-27
在线时间
98 小时
发表于 2015-4-29 00:31:00 | 显示全部楼层
我前一段时间用过方波捕获,但是总是莫名其妙的测出0,和24XX两个怪异的数据,他们出现在正常数据之间.
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-5-2
在线时间
0 小时
发表于 2015-5-2 19:16:35 | 显示全部楼层
回复【16楼】穆罕潆荻旎:
---------------------------------
你的问题解决了吗?是哪里的问题,可以帮帮我告诉我怎么回事吗
回复 支持 反对

使用道具 举报

5

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2014-9-3
在线时间
2 小时
发表于 2015-5-4 11:29:44 | 显示全部楼层
大神,超声波程序运行过程中会卡死在 while(GPIO_ReadInputDataBit(ECHO_PORT,ECHO_PIN));                 //等待低电平  这一句里面,不知道你们是否有遇到过,如果有,该怎么破呢?急!
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-3-27
在线时间
1 小时
发表于 2015-5-16 11:32:10 | 显示全部楼层
回复【27楼】冬迹:
---------------------------------
回复【11楼】wangyan915205:
---------------------------------
你这句搞懂没!!求指教
回复 支持 反对

使用道具 举报

5

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2014-3-8
在线时间
19 小时
发表于 2015-5-16 20:18:04 | 显示全部楼层
“UltrasonicWave_Distance=TIM_GetCounter(TIM2)*5*34/200.0;”   这里乘以5是什么意思?不明白,而且为什么就限制了最大150,什么原理
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2014-12-7
在线时间
0 小时
发表于 2015-5-17 11:06:48 | 显示全部楼层
怎么测出来的结果不准确,小了一点!
回复 支持 反对

使用道具 举报

7

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2014-9-12
在线时间
7 小时
发表于 2015-6-4 18:46:41 | 显示全部楼层
数据不怎么准确,请问怎么解决?
回复 支持 反对

使用道具 举报

7

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2014-9-12
在线时间
7 小时
发表于 2015-6-4 21:11:33 | 显示全部楼层
UltrasonicWave_Distance=TIM_GetCounter(TIM2)*340/200.0;
将程序改为这样的。测试数据差不多准了。
回复 支持 反对

使用道具 举报

7

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2014-9-12
在线时间
7 小时
发表于 2015-6-4 21:13:03 | 显示全部楼层
个人的理解是   距离= 声速340*高电平时间/2.
程序中/200的原因是单位的转换。
回复 支持 反对

使用道具 举报

5

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2014-9-3
在线时间
2 小时
发表于 2015-6-5 21:43:36 | 显示全部楼层
回复【28楼】侯俊杰:
---------------------------------恩,它一直收到高电平,进行了死循环
回复 支持 反对

使用道具 举报

4

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-3-11
在线时间
0 小时
发表于 2015-7-12 21:57:29 | 显示全部楼层
回复【4楼】FMX_2011:
---------------------------------
哈工大
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-7-5
在线时间
1 小时
发表于 2015-7-15 16:10:41 | 显示全部楼层
新手,,, 我是用新的f4探索者的板 请问要改哪些啊
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-7-5
在线时间
1 小时
发表于 2015-7-15 16:16:43 | 显示全部楼层
囧 是 flash需要设置 新手问题,,,
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-7-16
在线时间
0 小时
发表于 2015-7-16 11:18:09 | 显示全部楼层
回复【36楼】影子白:
---------------------------------
你可以去找柯赟啊
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-7-16
在线时间
0 小时
发表于 2015-7-16 11:18:49 | 显示全部楼层
回复【37楼】影子白:
---------------------------------
你可以去找征服之海啊
回复 支持 反对

使用道具 举报

头像被屏蔽

65

主题

277

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2013-8-11
在线时间
29 小时
发表于 2015-7-18 19:39:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2015-7-24
在线时间
0 小时
发表于 2015-7-24 15:22:02 | 显示全部楼层
我想用12864显示距离 可是编译出现..\HARDWARE\UltrasonicWave\UltrasonicWave.c(88): error:  #167: argument of type "float" is incompatible with parameter of type "unsigned char *"是什么原因啊 
回复 支持 反对

使用道具 举报

4

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-3-11
在线时间
0 小时
发表于 2015-7-25 16:31:53 | 显示全部楼层
数据总是跳,不是很准确,请问怎么解决的呢
回复 支持 反对

使用道具 举报

7

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2015-8-3
在线时间
45 小时
发表于 2015-8-3 17:44:01 | 显示全部楼层
谢谢分享dsdas
回复 支持 反对

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-5-15
在线时间
7 小时
发表于 2015-8-4 09:41:49 | 显示全部楼层
回复【13楼】16号张同学:
---------------------------------
好想法 求分享
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2015-4-27
在线时间
2 小时
发表于 2015-8-20 15:39:12 | 显示全部楼层
谢谢分享,多谢楼主!!!
回复 支持 反对

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2014-4-2
在线时间
23 小时
发表于 2015-10-3 19:18:25 | 显示全部楼层
超声波某块用的是哪个啊?
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2015-10-7
在线时间
0 小时
发表于 2015-10-9 11:11:02 | 显示全部楼层
给力,谢谢分享
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-11-22
在线时间
0 小时
发表于 2015-11-22 20:13:16 | 显示全部楼层
回复【36楼】影子白:
--------------------------------
我刚学f4,调超声波,改的楼主的f1的程序,没改出来,请问你改出来了吗?求指教。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-11-22
在线时间
0 小时
发表于 2015-11-22 20:15:22 | 显示全部楼层
回复【2楼】xiaoyan:
---------------------------------
有没有f4的超声波的程序啊?求指教
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2015-6-30
在线时间
8 小时
发表于 2015-12-31 16:35:49 | 显示全部楼层
急需,谢谢楼主分享
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-7 14:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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