сообщение об ошибке "not declared in this scope"
Сообщение об ошибке 'dir1PinL' не было объявлено в этой области.
продолжает появляться. Есть идеи?
#include "Arduino.h"
/*motor control*/
void go_Advance(void) //Вперед
{
digitalWrite(dir1PinL, HIGH);
digitalWrite(dir2PinL, LOW);
digitalWrite(dir1PinR, HIGH);
digitalWrite(dir2PinR, LOW);
}
void go_Left(void) //Повернуть налево
{
digitalWrite(dir1PinL, HIGH);
digitalWrite(dir2PinL, LOW);
digitalWrite(dir1PinR, LOW);
digitalWrite(dir2PinR, HIGH);
}
void go_Right(void) //Повернуть направо
{
digitalWrite(dir1PinL, LOW);
digitalWrite(dir2PinL, HIGH);
digitalWrite(dir1PinR, HIGH);
digitalWrite(dir2PinR, LOW);
}
void go_Back(void) //Обратный
{
digitalWrite(dir1PinL, LOW);
digitalWrite(dir2PinL, HIGH);
digitalWrite(dir1PinR, LOW);
digitalWrite(dir2PinR, HIGH);
}
void stop_Stop() //Стоп
{
digitalWrite(dir1PinL, LOW);
digitalWrite(dir2PinL, LOW);
digitalWrite(dir1PinR, LOW);
digitalWrite(dir2PinR, LOW);
}
/*set motor speed */
void set_Motorspeed(int speed_L, int speed_R)
{
analogWrite(speedPinL, speed_L);
analogWrite(speedPinR, speed_R);
}
//Инициализация пинов
void init_GPIO()
{
pinMode(dir1PinL, OUTPUT);
pinMode(dir2PinL, OUTPUT);
pinMode(speedPinL, OUTPUT);
pinMode(dir1PinR, OUTPUT);
pinMode(dir2PinR, OUTPUT);
pinMode(speedPinR, OUTPUT);
stop_Stop();
}
void setup()
{
init_GPIO();
go_Advance();//Вперед
set_Motorspeed(255, 255);
delay(5000);
go_Back();//Обратный
set_Motorspeed(255, 255);
delay(5000);
go_Left();//Повернуть налево
set_Motorspeed(255, 255);
delay(5000);
go_Right();//Повернуть направо
set_Motorspeed(255, 255);
delay(5000);
stop_Stop();//Стоп
}
void loop()
{
}
Вот полное сообщение об ошибке:
Arduino: 1.8.6 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\William\Documents\smartcar-lesson1\smartcar-lesson1.ino: In function 'void go_Advance()':
smartcar-lesson1:20:16: error: 'dir1PinL' was not declared in this scope
digitalWrite(dir1PinL, HIGH);
^
smartcar-lesson1:21:16: error: 'dir2PinL' was not declared in this scope
digitalWrite(dir2PinL,LOW);
^
smartcar-lesson1:22:16: error: 'dir1PinR' was not declared in this scope
digitalWrite(dir1PinR,HIGH);
^
smartcar-lesson1:23:16: error: 'dir2PinR' was not declared in this scope
digitalWrite(dir2PinR,LOW);
^
C:\Users\William\Documents\smartcar-lesson1\smartcar-lesson1.ino: In function 'void go_Left()':
smartcar-lesson1:27:16: error: 'dir1PinL' was not declared in this scope
digitalWrite(dir1PinL, HIGH);
^
smartcar-lesson1:28:16: error: 'dir2PinL' was not declared in this scope
digitalWrite(dir2PinL,LOW);
^
smartcar-lesson1:29:16: error: 'dir1PinR' was not declared in this scope
digitalWrite(dir1PinR,LOW);
^
smartcar-lesson1:30:16: error: 'dir2PinR' was not declared in this scope
digitalWrite(dir2PinR,HIGH);
^
C:\Users\William\Documents\smartcar-lesson1\smartcar-lesson1.ino: In function 'void go_Right()':
smartcar-lesson1:34:16: error: 'dir1PinL' was not declared in this scope
digitalWrite(dir1PinL, LOW);
^
smartcar-lesson1:35:16: error: 'dir2PinL' was not declared in this scope
digitalWrite(dir2PinL,HIGH);
^
smartcar-lesson1:36:16: error: 'dir1PinR' was not declared in this scope
digitalWrite(dir1PinR,HIGH);
^
smartcar-lesson1:37:16: error: 'dir2PinR' was not declared in this scope
digitalWrite(dir2PinR,LOW);
^
C:\Users\William\Documents\smartcar-lesson1\smartcar-lesson1.ino: In function 'void go_Back()':
smartcar-lesson1:41:16: error: 'dir1PinL' was not declared in this scope
digitalWrite(dir1PinL, LOW);
^
smartcar-lesson1:42:16: error: 'dir2PinL' was not declared in this scope
digitalWrite(dir2PinL,HIGH);
^
smartcar-lesson1:43:16: error: 'dir1PinR' was not declared in this scope
digitalWrite(dir1PinR,LOW);
^
smartcar-lesson1:44:16: error: 'dir2PinR' was not declared in this scope
digitalWrite(dir2PinR,HIGH);
^
C:\Users\William\Documents\smartcar-lesson1\smartcar-lesson1.ino: In function 'void stop_Stop()':
smartcar-lesson1:48:16: error: 'dir1PinL' was not declared in this scope
digitalWrite(dir1PinL, LOW);
^
smartcar-lesson1:49:16: error: 'dir2PinL' was not declared in this scope
digitalWrite(dir2PinL,LOW);
^
smartcar-lesson1:50:16: error: 'dir1PinR' was not declared in this scope
digitalWrite(dir1PinR,LOW);
^
smartcar-lesson1:51:16: error: 'dir2PinR' was not declared in this scope
digitalWrite(dir2PinR,LOW);
^
C:\Users\William\Documents\smartcar-lesson1\smartcar-lesson1.ino: In function 'void set_Motorspeed(int, int)':
smartcar-lesson1:57:15: error: 'speedPinL' was not declared in this scope
analogWrite(speedPinL,speed_L);
^
smartcar-lesson1:58:15: error: 'speedPinR' was not declared in this scope
analogWrite(speedPinR,speed_R);
^
C:\Users\William\Documents\smartcar-lesson1\smartcar-lesson1.ino: In function 'void init_GPIO()':
smartcar-lesson1:64:10: error: 'dir1PinL' was not declared in this scope
pinMode(dir1PinL, OUTPUT);
^
smartcar-lesson1:65:10: error: 'dir2PinL' was not declared in this scope
pinMode(dir2PinL, OUTPUT);
^
smartcar-lesson1:66:10: error: 'speedPinL' was not declared in this scope
pinMode(speedPinL, OUTPUT);
^
smartcar-lesson1:68:10: error: 'dir1PinR' was not declared in this scope
pinMode(dir1PinR, OUTPUT);
^
smartcar-lesson1:69:11: error: 'dir2PinR' was not declared in this scope
pinMode(dir2PinR, OUTPUT);
^
smartcar-lesson1:70:11: error: 'speedPinR' was not declared in this scope
pinMode(speedPinR, OUTPUT);
^
exit status 1
'dir1PinL' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
@William Bradshaw, 👍-2
Обсуждение1 ответ
Похоже, вы не создали ни одной переменной с таким именем в своем коде. Это то, что обычно означает это сообщение об ошибке. Вы должны создать переменную и присвоить ей значение, прежде чем сможете использовать ее где-либо еще. Найдите любой хороший учебник по C++ и пройдите его первую часть, и вы довольно быстро освоите эти основы.
Ваш код должен иметь строку вверху, которая выглядит примерно так:
int dir1PinL = 2
или любое числовое значение, которое вы хотите, чтобы имела эта переменная, в зависимости от того, о каком пине вы на самом деле говорите. Аналогично для других переменных, которые вы пытаетесь использовать.
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Это все сообщение об ошибке?, @jsotola