智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1148|回复: 3
打印 上一主题 下一主题

[单片机] 超声波模块

[复制链接]

3

主题

5

帖子

0

精华

高级会员

Rank: 4

积分
707
威望
343
贡献
206
兑换币
221
注册时间
2018-10-13
在线时间
79 小时
跳转到指定楼层
1#
发表于 2019-5-3 16:11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 词穷vov 于 2019-5-3 16:12 编辑

我用的  HC-SR04 这款超声波   可是返回的数值就只有两个值为啥?用的逐飞的库   请帮忙找下原因
程序如下:
#define TRIG D1               //定义超声波触发引脚端口
#define ECHO E3             //  接收端口

float time,distance;
int main(void)
{
        get_clk();//上电后必须运行一次这个函数,获取各个频率信息,便于后面各个模块的参数设置
        
        gpio_init(TRIG,GPO,0);   //TRIG   触发
        gpio_init(ECHO,GPI,0);  // echo   接收

        pit_init_ms(pit1,100);         //100MS     
    while(1)
        {
     gpio_set(TRIG,1);               //产生触发脉冲
     pit_delay_us(pit1,20);      
     gpio_set(TRIG,0);           //产生一个20us的高电平脉冲

     while(gpio_get (ECHO) == 0);             //等待电平变高,低电平一直等待
     pit_time_start  (pit1);    //开始计时
     while(gpio_get(ECHO) == 1);              //等待电平变低,高电平一直等待

     time = pit_time_get(pit1);    //停止计时,获取计时时间

        distance = time * 340 /2/10;

        }
}

回复

使用道具 举报

3

主题

5

帖子

0

精华

高级会员

Rank: 4

积分
707
威望
343
贡献
206
兑换币
221
注册时间
2018-10-13
在线时间
79 小时
2#
 楼主| 发表于 2019-5-3 19:23:00 | 只看该作者
自己顶一下
回复 支持 反对

使用道具 举报

3

主题

5

帖子

0

精华

高级会员

Rank: 4

积分
707
威望
343
贡献
206
兑换币
221
注册时间
2018-10-13
在线时间
79 小时
3#
 楼主| 发表于 2019-5-3 20:09:12 | 只看该作者
已解决   
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

高级会员

Rank: 4

积分
506
威望
253
贡献
149
兑换币
164
注册时间
2018-4-28
在线时间
52 小时
4#
发表于 2019-5-4 12:57:44 | 只看该作者
楼主可以说一下   什么原因吗
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 19:35 , Processed in 0.146395 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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