C语言超声波测距程序 HC-SR04 模块
#include <stdio.h> #include <wiringPi.h>
#define TRIG_PIN 0 #define ECHO_PIN 1
int main(void) { float distance; long startTime, endTime;
if (wiringPiSetup() == -1)
{
printf('wiringPi setup failed!');
return 1;
}
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
digitalWrite(TRIG_PIN, LOW);
delay(500);
while (1)
{
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
while (digitalRead(ECHO_PIN) == LOW)
startTime = micros();
while (digitalRead(ECHO_PIN) == HIGH)
endTime = micros();
distance = (endTime - startTime) / 58.0;
printf('Distance: %.2f cm\n', distance);
delay(1000);
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/nLDn 著作权归作者所有。请勿转载和采集!