Function 'backward' was not declared in this scope (сообщение об ошибке)
Код:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // ПОДКЛЮЧИТЬ PIN BT RX К 11-контактному разъему ARDUINO | ПОДКЛЮЧИТЕ КОНТАКТ BT TX К 10-КОНТАКТНОМУ КОНТАКТУ ARDUINO
char tiltDirection;
int motorInput1 = 2;
int motorInput2 = 3;
int motorInput3 = 4;
int motorInput4 = 5;
void setup() {
pinMode(motorInput1, OUTPUT);
pinMode(motorInput2, OUTPUT);
pinMode(motorInput3, OUTPUT);
pinMode(motorInput4, OUTPUT);
digitalWrite(motorInput1, LOW);
digitalWrite(motorInput2, LOW);
digitalWrite(motorInput3, LOW);
digitalWrite(motorInput4, LOW);
Serial.begin(115200); // Последовательная связь активируется на скорости 38400 бод/с.
BTSerial.begin(38400); // HC-05 скорость по умолчанию в AT-команде подробнее
}
void loop() {
if (BTSerial.available()) { // Ожидание данных, поступающих от другого модуля XBee
tiltDirection = BTSerial.read();
if(tiltDirection == 'F'){
Serial.println("Forward");
backward();
}else if(tiltDirection == 'B'){
Serial.println("Backward");
forward();
}else if(tiltDirection == 'R'){
Serial.println("Right");
right();
}else if(tiltDirection == 'L'){
Serial.println("Left");
left();
}else if(tiltDirection == 'S'){
Serial.println("Stop");
stopCar();
}
}
}
void forward()
{
/*The pin numbers and high, low values might be different depending on your connections */
digitalWrite(motorInput1, LOW);
digitalWrite(motorInput2, HIGH);
digitalWrite(motorInput3, LOW);
digitalWrite(motorInput4, HIGH);
}
void reverse()
{
/*The pin numbers and high, low values might be different depending on your connections */
digitalWrite(motorInput1, HIGH);
digitalWrite(motorInput2, LOW);
digitalWrite(motorInput3, HIGH);
digitalWrite(motorInput4, LOW);
}
void right()
{
/*The pin numbers and high, low values might be different depending on your connections */
digitalWrite(motorInput1, LOW);
digitalWrite(motorInput2, HIGH);
digitalWrite(motorInput3, LOW);
digitalWrite(motorInput4, LOW);
}
void left()
{
/*The pin numbers and high, low values might be different depending on your connections */
digitalWrite(motorInput1, LOW);
digitalWrite(motorInput2, LOW);
digitalWrite(motorInput3, LOW);
digitalWrite(motorInput4, HIGH);
}
void stopCar() {
digitalWrite(motorInput1, LOW);
digitalWrite(motorInput2, LOW);
digitalWrite(motorInput3, LOW);
digitalWrite(motorInput4, LOW);
}
Сообщение об ошибке:
C:\Users\amit1\Downloads\hand_gesture_control_car_receiver\hand_gesture_control_car_receiver.ino: In function 'void loop()':
hand_gesture_control_car_receiver:31:9: error: 'backward' was not declared in this scope
backward();
^~~~~~~~
C:\Users\amit1\Downloads\hand_gesture_control_car_receiver\hand_gesture_control_car_receiver.ino:31:9: note: suggested alternative: 'forward'
backward();
^~~~~~~~
forward
Multiple libraries were found for "SoftwareSerial.h"
Used: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial
Not used: C:\Program Files (x86)\Arduino\libraries\SoftwareSerial-master
exit status 1
'backward' was not declared in this scope
В чем причина этого?
@cOde_monkey, 👍-1
Обсуждение1 ответ
Вы назвали функцию reverse, когда создавали ее, а не наоборот. В вашей программе нет ничего с обратным именем.
void reverse()
{
/*Номера выводов и высокие и низкие значения могут различаться в зависимости от ваших подключений */
digitalWrite(motorInput1, HIGH);
digitalWrite(motorInput2, LOW);
digitalWrite(motorInput3, HIGH);
digitalWrite(motorInput4, LOW);
}
Что не так с этим ответом? Почему за это проголосовали? AFAIS это решение. Я использую UV, чтобы вернуть его к 0 ;-)., @Peter Paul Kiefer
комментария будет достаточно. вопрос не по теме. бесконечное количество такого рода вопросов может быть сгенерировано. это не имеет значения для сайта вопросов и ответов, @Juraj
Тогда минусуйте вопрос, а не ответ., @Delta_G
@Juraj Я здесь, потому что рад помогать другим. Я также думаю, что успех обмена стеками основан не только на предоставлении нам идеального сайта вопросов и ответов. Большая часть трафика генерируется от людей, которые являются новичками и имеют проблему, которая может быть нелепой для нас, но они застряли на ней и пытаются найти помощь. Если Delta_G хочет пожертвовать своим временем с ответом, я бы не стал осуждать его/ее (?) за это. Кроме того, добавленный код более читабелен в ответе. И ответ может быть принят и не беспокоить нас проверкой оставшихся без ответа вопросов или непринятых ответов в будущем., @Peter Paul Kiefer
Я проголосовал за то, чтобы закрыть вопрос, но это требует времени, пока другие не проголосуют. без ответа оно будет удалено через 30 дней. с ответом, набравшим 0 голосов, будет удален через год. с ответом на ответ он останется здесь навсегда. и поиск выдаст его по запросу "обратный мотор", @Juraj
спасибо @Delta_G это сработало хорошо, @cOde_monkey
- Я получаю сообщение об ошибке?
- avrdude ser_open() can't set com-state
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Какое максимальное энергопотребление Arduino Nano 3.0?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Питание светодиодной ленты - Сколько ампер?
- Ошибка: expected unqualified-id before 'if'
- Arduino nano как клавиатура HID
Это простая ошибка пользователя, и поэтому здесь она не по теме., @StarCat