Помогите найти ошибку.
- Войдите на сайт для отправки комментариев
Пнд, 26/09/2016 - 09:56
Всем привет!
Скачал скетч приёмника радиоуправляемого танка. При компиляции выдает ошибку.
Помогите пожалуйста или ткните куда копать.
#define led 8 #include <SPI.h> #include "RF24.h" RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; //int msg[1]; int msg[1]; int msh[1]; boolean ledOn = false; boolean lastBut = HIGH; long time = 0; long debounce = 300; int data; int data1; int pos; int fspeed; // движение вперед int bspeed; // движение назад int steer; int MotoL, MotoR; int ValStickX, ValStickY; const int in1 = 7; // direction pin 1 const int in2 = 6; // direction pin 2 const int in3 = 4; // direction pin 1 const int in4 = 2; // direction pin 2 const int ena = 5; // PWM pin to change speed const int enb = 3; byte IsConnect; void setup() { pinMode(led, OUTPUT); Serial.begin(9600); pinMode(in1, OUTPUT); // connection to L298n pinMode(in2, OUTPUT); // connection to L298n pinMode(ena, OUTPUT); // connection to L298n pinMode(in3, OUTPUT); // connection to L298n pinMode(in4, OUTPUT); // connection to L298n pinMode(enb, OUTPUT); // connection to L298n //servo1.attach(3); // delay(10); radio.begin(); radio.openReadingPipe(1,pipe); // radio.openReadingPipe(pipe); radio.startListening(); } void loop() { if (radio.available()){ radio.read(msg, 1); IsConnect = HIGH; } else{ IsConnect = LOW; } if (msh[1] == 255 && lastBut == HIGH && millis() - time > debounce) { ledOn = !ledOn; lastBut = HIGH; time = millis(); } else // Иначе, { lastBut = digitalRead(lastBut); } digitalWrite(led, ledOn); Serial.println(msh[1]); if (msg[0] <128 && msg[0] >-1){ data = msg[0]; ValStickX = map(data, 0, 127, -255, 254); } if (msg[0] < 254 && msg[0] > 127){ data = msg[0]; ValStickY = map(data, 128, 255, -255, 254); } if(abs(ValStickX) < 20){ ValStickX = 0; } if(abs(ValStickY) < 20){ ValStickY = 0; } MotoL = ValStickX - (ValStickY /1.2); MotoR = ValStickX + (ValStickY /1.2); if(IsConnect==LOW){ MotoL=0; } if(IsConnect==LOW){ MotoR=0; } // Serial.println("ML: "+String(MotoL)+", MR: "+String(MotoR)); if(MotoL > 255){ MotoL = 255; } if(MotoR > 255){ MotoR = 255; } if(MotoL < -255){ MotoL = -255; } if(MotoR < -255){ MotoR = -255; } loop() {Control4WD(MotoL, MotoR); } } void Control4WD(int mLeft, int mRight){ // Serial.println("ML: "+String(mLeft)+", MR: "+String(mRight)); bool directionL, directionR; // направление вращение для L298N byte valueL, valueR; // значение ШИМ M1, M2 (0-255) if(mLeft > 0){ valueL = mLeft; directionL = 0; } else if(mLeft < 0){ valueL = abs(mLeft); directionL = 1; } else{ directionL = 0; valueL = 0; } if(mRight > 0){ valueR = mRight; directionR = 0; } else if(mRight < 0){ valueR = abs(mRight); directionR = 1; } else { directionR = 0; valueR = 0; } digitalWrite(in1, directionL); digitalWrite(in2, !directionL); digitalWrite(in3, directionR); digitalWrite(in4, !directionR); analogWrite(ena, valueL); analogWrite(enb, valueR); }
блин, ну возьмите аглицкий переводчик и прочитайте что вам написал компилятор
щас прийдёт Клапауций и пошлёт вас в жопу
щас прийдёт Клапауций и пошлёт вас в жопу
поздно - я уже пришёл.
ТС, иди... ну, ты понял. :D
блин, ну возьмите аглицкий переводчик и прочитайте что вам написал компилятор
щас прийдёт Клапауций и пошлёт вас в жопу
Это первое ,что я сделал.
ну прекрасно что перевели
теперь разберитесь со скобками
а если какие то серьёзные проблемы тогда и на форуме можно вопрос задать
Это первое ,что я сделал.
Вроде разобрался.
Всем спасибо.
UPD: Блин, сам в скобочках запутался... Строку 114 заменить на Control4WD(MotoL, MotoR);