Как решить проблему: expected primary-expression before '>' token
// defines pins numbers
const int trigPin = A0;
const int echoPin = A1;
// defines variables
long duration;
int distance;
#include <moving.h>
#include <Servo.h>
Servo servo;
moving car(6, 2, 3, 5, 4, 7, 11, 8, 9, 10, 12, 13); // setting up a new RC car with pins EN1, IN1, IN2, EN2, IN3, IN4, EN3, IN5, IN6, EN4, IN7, IN8
void setup() {
{
for (int i=2; i<14; i++)
{
pinMode(i, OUTPUT);
}
servo.attach(10);
servo.write(90);
}
{
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Starts the serial communication
}
}
void loop() {
if (distance) > 10; // this is the problem
car.set_speed(127);
car.forward();
delay(3000);
if (distance) < 10; // and this
car.set_speed(0);
car.forward();
delay(600);
car.set_speed(127);
car.right();
delay(700);
car.set_speed(127);
car.forward();
delay(700);
}
@Karlo, 👍1
Обсуждение1 ответ
▲ 2
Вокруг блока if необходимо заключить фигурные скобки.
if (distance > 10) { // это решает проблему
car.set_speed(127);
car.forward();
delay(3000);
}
и т.д. Редактировать: Спасибо комментатору.
,
@Duston
Этого недостаточно. Все условие должно быть заключено в скобки if (distance > 10) {
, @Craig
Может быть, вы могли бы расширить свой ответ. Ваш ответ немного краток. Какие утверждения должны быть включены в блок {}
и почему..? Также вам нужно исправить свое предложение в соответствии с комментарием @Craig., @Greenonline
@karlo: Сообщение об ошибке относится к строке 38, неправильно сформированному оператору 'if'. Вы, вероятно, имели в виду что-то вроде "if (distance < 10){ do something; } else { do somethingelse; }", но в том виде, в котором он написан, это не является правильным C или C++., @JRobert
Смотрите также:
- Как объявить массив переменного размера (глобально)
- Программирование Arduino с использованием Python, а не C/C ++
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Как справиться с rollover millis()?
- Является ли использование malloc() и free() действительно плохой идеей для Arduino?
- Можно ли сделать несколько функций loop() с помощью Arduino Uno?
- Какие накладные расходы и другие соображения существуют при использовании структуры по сравнению с классом?
- устаревшее преобразование из строковой константы в 'char*'
if (distance > 10)
. Что должно быть в условииif
?;
после него — пустая команда. Я уверен, что вы не хотите иметь условие для выполнения пустой команды. https://www.arduino.cc/reference/en/language/structure/control-structure/if/, @Juraj@Juraj на 100% прав... Предположительно
car.set_speed()
иcar.forward()
должны выполняться условно? Иначе, в чем смысл оператораif()
? Кроме того, должен лиdelay()
быть частью условно выполняемого кода? Или нет?, @Greenonline