粤嵌GEC6818开发板超声波模块C语言代码
时间: 2023-08-18 16:56:50 浏览: 130
以下是一个使用C语言编写的示例代码,用于在粤嵌GEC6818开发板上控制超声波模块:
```c
#include <stdio.h>
#include <wiringPi.h>
#define TRIG_PIN 0
#define ECHO_PIN 1
int main(void) {
if (wiringPiSetup() == -1) {
printf("wiringPi setup failed!\n");
return 1;
}
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
while (1) {
// 发送触发信号
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// 接收回响信号
while (digitalRead(ECHO_PIN) == LOW);
long startTime = micros();
while (digitalRead(ECHO_PIN) == HIGH);
long endTime = micros();
// 计算距离
float distance = (endTime - startTime) * 0.034 / 2;
printf("Distance: %.2f cm\n", distance);
delay(1000); // 延迟1秒
}
return 0;
}
```
这段代码使用了wiringPi库来控制GPIO引脚。在主循环中,它发送触发信号,然后等待接收回响信号,并根据回响信号的时间差计算距离。最后,它将距离打印出来,并延迟1秒后重复执行。
请注意,以上代码只是一个示例,具体的GPIO引脚和延时时间可能需要根据你的实际连接和需求进行调整。在使用该代码之前,请确保已经正确连接了超声波模块并安装了wiringPi库。