ラズベリーパイのC++アプリケーションに問題があります。このスクリプトは、終端の前に一度cmで距離を表示する必要があります。しかし、超音波センサーが接続されているかどうかを確認し、そうでない場合はスクリプトが壊れるようにする必要があります。どうすればいい? getCM()メソッドのタイムアウトを設定する方法はありますか?これを解決する別のアイデアがありますか? コード:C++ Voidコールタイムアウト
...
void setup() {
wiringPiSetup();
pinMode(TRIG_R, OUTPUT);
pinMode(ECHO_R, INPUT);
digitalWrite(TRIG_F, LOW);
delay(30);
}
int getCM() {
digitalWrite(TRIG_R, HIGH);
delayMicroseconds(20);
digitalWrite(TRIG_R, LOW);
//Wait for echo start
while(digitalRead(ECHO_R) == LOW);
//Wait for echo end
long startTime = micros();
while(digitalRead(ECHO_R) == HIGH);
long travelTime = micros() - startTime;
int distance = travelTime/58;
return distance;
}
int main(void) {
setup();
printf("Distance: %dcm\n", getCM());
return 0;
}
ありがとうございます!
ティム
私は人がC++プログラム "スクリプト"の呼び出しをやめることを望みます。 – PaulMcKenzie