ожидаемое первичное выражение перед токеном ',' ... проблема

это проблема --- ожидаемое первичное выражение перед токеном ','

#define motor

void setup() {
 pinMode(8,OUTPUT);
}

void loop()
{
  digitalWrite(motor,HIGH);
  // put your main code here, to run repeatedly:

}

, 👍0

Обсуждение

Вы пытались #define motor, но не написали, что определяет мотор. #определить двигатель 5? https://www.arduino.cc/reference/en/language/structure/further-syntax/define/, @Filip Franik

Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это простая ошибка программирования на C/C++, а не об Arduino., @chrisl

Как писал Филип Франик, вам нужно задать для определения мотора значение, которое препроцессор сможет заменить при каждом появлении мотора. В настоящее время компилятор получает строку кода digitalWrite( , HIGH);, потому что двигатель не определяется как ничего., @chrisl


1 ответ


1

Предполагая, что ваш двигатель подключен к контакту 8, и вы хотите установить высокий уровень этого сигнала, вы должны определить его:

#define motor 8

void setup() {
   pinMode(8, OUTPUT);
}

void loop()
{
  digitalWrite(motor, HIGH);
  // put your main code here, to run repeatedly:
}

Поскольку вы используете его также в setup, замените его и там:

#define motor 8

void setup() {
   pinMode(motor, OUTPUT);
}

void loop()
{
  digitalWrite(motor, HIGH);
  // put your main code here, to run repeatedly:
}

Кроме того, лучше использовать имя MOTOR_PIN, поскольку речь идет о контакте, а не о самом двигателе. Кроме того, по соглашению определения пишутся заглавными буквами, поэтому вы получаете:

#define MOTOR_PIN 8

void setup() {
   pinMode(MOTOR_PIN, OUTPUT);
}

void loop()
{
  digitalWrite(MOTOR_PIN, HIGH);
  // put your main code here, to run repeatedly:
}
,