今天在用最新的arduino2.1.1版本开发HC-SR04超声波传感器的测距功能
执行以下代码
#define Trig D8 //定义引脚
#define Echo D2
long dis;//定义测距距离
void initHcsr04() //初始化超声波
{
pinMode(Trig, OUTPUT);//配置Trig引脚为输出脚
pinMode(Echo, INPUT);//配置Echo引脚为输入脚
}
long getTime() //获取距离
{
digitalWrite(Trig, HIGH);//先将Trig引脚拉高
delayMicroseconds(10);//延时至少10us
digitalWrite(Trig, LOW);//先将Trig引脚拉低
//波传输过程echo高电平,计算高电平时间就获取波传输时间,单位为us
return pulseIn(Echo, HIGH);
}
void setup() {
// put your setup code here, to run once:
initHcsr04();//初始化超声波
Serial.begin(115200);//打开串口
Serial.print("start");
}
void loop() {
// put your main code here, to run repeatedly:
dis=getTime()/58;//获取测距距离
Serial.print(dis);//串口打印测距距离
Serial.println("cm");
delay(500);
}
可串口监视器显示的测距距离一直为0cm,一直排查不出是什么问题
同样的代码拿到arduino1.6.5执行却能正常显示测距功能,请问是什么原因造成的呢