超声波模块测距

本文介绍了使用树莓派配合超声波模块进行测距的原理和步骤,详细讲解了涉及的C语言函数,包括wiringPiSetup、pinMode、digitalWrite、delayMicroseconds和digitalRead。通过给出的代码示例,展示了如何初始化、发送触发信号、读取回波时间并计算距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://www.cnblogs.com/yuemo/p/8888342.html
用到的函数头文件:
#include <sys/time.h>
struct timeval
{
time_t tv_sec; //秒
suseconds_t tv_usec; //微妙 ,1秒等于10的6次方微妙
};
——————————————————————-
定义一个struct timeval t1;
gettimeofday()函数功能是得到当前时间和时区,分别写到tv和tz中

gettimeofday(t1,NULL);//获得当前系统时间
——————————————————
wiringPiSetup()
在使用wiringPi.h库时,在执行任何操作前都必须初始化树莓派,否则程序便无法正常运行。当初始化操作未完成时,函数返回值为-1

其他的树莓派初始化函数还有wiringPiSetupGpio(void),此函数使用方法与wiringPiSetup(void)类似,当函数无法正常运行时返回值也是-1.不同的地方在于,wiringPiSetup(void)初始化树莓派引脚时使用的是wiringPi 引脚编号表。引脚的编号为 0~16;wiringPiSetupGpio(void)初始化树莓派引脚时使用的是BCM GPIO 引脚编号表。
——————————————————————————
pinMode这个函数是用来确定引脚的功能的,如果在使用某个引脚之前没有确定这个引脚的功能或者引脚设置模式不正确,就会出现一些不可捉摸的错误。

这个函数有两个参数,第一个参数pin是一个正整数,用来指定引脚的编号(0-16),第二个参数是用来指定引脚的IO模式,可用的参数有INPUT , OUTPUT , OUTPUT_OPEN_DRAIN , INPUT_ANALOG , INPUT_PULLUP , INPUT_PULLDOWN , INPUT_FLOATING , PWMPWM_OPEN_DRAIN
如:
pinMode(Echo, INPUT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值