OpenEdv-开源电子网

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

请问,各位大佬关于超声波避障的问题

[复制链接]

22

主题

61

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-2-28
在线时间
22 小时
发表于 2023-4-13 12:46:42 | 显示全部楼层 |阅读模式
15金钱
请问,关于超声波,应该是在他的控制引脚发射一个高电平,然后接受口会接收到一个高电平,通过定时器计时,当接受口为低电平的时候,计时结束,通过公式可以算出距离。由此可见,控制引脚应该发出的是高电平,但是,这个代码为什么发出的是低电平啊,为啥直接反向处理了啊(图片是按照1.2.3.4的顺序看的)

4.png
3.png
2.png
1.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-4-13 13:06:30 | 显示全部楼层
没反啊,程序中开头不是有Trig_SET吗?只需一个10us的高电平脉冲就行,不必等待。
Trig与Echo是两个脚。
专治疑难杂症
回复

使用道具 举报

22

主题

61

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-2-28
在线时间
22 小时
 楼主| 发表于 2023-4-13 15:35:11 | 显示全部楼层
LcwSwust 发表于 2023-4-13 13:06
没反啊,程序中开头不是有Trig_SET吗?只需一个10us的高电平脉冲就行,不必等待。
Trig与Echo是两个脚。

哥,你看第四个图,里面是这样写的
#define   Trig_SET         GPIO_ResetBits(Trig_GPIO , Trig_PIN)
回复

使用道具 举报

22

主题

61

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-2-28
在线时间
22 小时
 楼主| 发表于 2023-4-13 15:35:37 | 显示全部楼层
zhaohaitao 发表于 2023-4-13 15:35
哥,你看第四个图,里面是这样写的
#define   Trig_SET         GPIO_ResetBits(Trig_GPIO , Trig_PIN)

这不就是反写了嘛
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-4-13 15:41:29 | 显示全部楼层
zhaohaitao 发表于 2023-4-13 15:35
哥,你看第四个图,里面是这样写的
#define   Trig_SET         GPIO_ResetBits(Trig_GPIO , Trig_PIN)

哦,是嘛,没注意,你看工作正常的不?也许只是某个边沿触发,而且这两个边沿很近,所以写错之后关系也不大。试一下将脉宽整到1ms去,看下两种逻辑是否有区别。
专治疑难杂症
回复

使用道具 举报

22

主题

61

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-2-28
在线时间
22 小时
 楼主| 发表于 2023-4-13 15:53:27 | 显示全部楼层
LcwSwust 发表于 2023-4-13 15:41
哦,是嘛,没注意,你看工作正常的不?也许只是某个边沿触发,而且这两个边沿很近,所以写错之后关系也不 ...

边沿触发?不能把,就一个超声波,哪里来的边沿触发啊C:\Users\zht\Desktop
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-4-13 16:04:12 | 显示全部楼层
zhaohaitao 发表于 2023-4-13 15:53
边沿触发?不能把,就一个超声波,哪里来的边沿触发啊

比如HC-SR04模块的Trig脚,可能是接到模块内部单片机的中断脚,边沿触发它测距。
专治疑难杂症
回复

使用道具 举报

22

主题

61

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-2-28
在线时间
22 小时
 楼主| 发表于 2023-4-13 16:29:39 | 显示全部楼层
LcwSwust 发表于 2023-4-13 16:04
比如HC-SR04模块的Trig脚,可能是接到模块内部单片机的中断脚,边沿触发它测距。

那,边沿触发为啥就不用遵循它这个模块本身的使用协议了呢?
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-4-13 16:34:16 | 显示全部楼层
zhaohaitao 发表于 2023-4-13 16:29
那,边沿触发为啥就不用遵循它这个模块本身的使用协议了呢?

不是不用尊循,而是让你验证一下。比如你给它Trig高电平500ms低电平500ms,看它什么时候出Echo。
专治疑难杂症
回复

使用道具 举报

22

主题

61

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-2-28
在线时间
22 小时
 楼主| 发表于 2023-4-13 16:38:13 | 显示全部楼层
LcwSwust 发表于 2023-4-13 16:34
不是不用尊循,而是让你验证一下。比如你给它Trig高电平500ms低电平500ms,看它什么时候出Echo。

我刚刚试了下,把高电平换成了低电平,低电平换成了高电平,超声波照样能用,而且,我发现这个测距函数确实是下降沿触发中断函数,中断函数中有超声波测距函数。但是我不理解的是,这个超声波本身需要应用的前提条件不就是,先发出一个10us的高电平,然后看接收端的时间嘛。但是这一个下降沿,咋电平都能乱配了呢?
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-4-13 17:02:58 | 显示全部楼层
zhaohaitao 发表于 2023-4-13 16:38
我刚刚试了下,把高电平换成了低电平,低电平换成了高电平,超声波照样能用,而且,我发现这个测距函数确 ...

这么理解吧,超声波模块里有个单片机,Trig脚下降沿中断触发测距。
为了能可靠检测到Trig下降沿,才会提出要求“给至少10us 的高电平信号”,说不定你给它1us的高电平它也能工作,但总有个极限,比如100ns的高电平它可能就检测不到下降沿了,所以,为了留点余量,就说成“至少10us的高电平”。
专治疑难杂症
回复

使用道具 举报

22

主题

61

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-2-28
在线时间
22 小时
 楼主| 发表于 2023-4-13 18:00:41 | 显示全部楼层
LcwSwust 发表于 2023-4-13 17:02
这么理解吧,超声波模块里有个单片机,Trig脚下降沿中断触发测距。
为了能可靠检测到Trig下降沿,才会提 ...

哦哦哦,懂了,谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 12:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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