我有一个从现场找到的超声波传感器的代码。这是代码:
#define trigPin 12
#define echoPin 13
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
int duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance >= 200 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
但是,我不了解pulseIn()
功能的工作。我的意思是,我想知道时间开始和结束的时间。例如,在此代码中,digitalWrite(trigPin, HIGH);
时间从pulseIn()
函数开始还是时间从函数开始?
如果是第二个,它停止了,那么当我在空中发送ping之后已经延迟了1000微秒时,时间如何给我们提供障碍物的距离?
How can i do this code in assembly languaje
-与这个问题有什么关系?