Вылезла следующая ошибка: "void value not ignored as it ought to be"

Vladislav4774
Offline
Зарегистрирован: 17.01.2020

При компиляции возникает ошибка "void value not ignored as it ought to be". Помогите, ибо я в программировании стартер. Писал программу не я, так что за неё не ручаюсь. Библиотеку RF24 скачал, дело не в ней. Подскажите что куда написать, чтобы всё заработало. Буду ооооочень благодарен =)

Программа следующая :

#include <SPI.h>
#include <nRF24L01.h> 
#include <RF24.h> //Скачиваем и устанавливаем библиотеку RF24 для радио модуля!!!!!!!!!
#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
#define CE_PIN   2
#define CSN_PIN 9
int pwm = 0;
int pwm2 = 0;
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN); 
int joystick[9];
//unsigned long time;
void setup()   
{
  delay(50);
  radio.begin();
  radio.setChannel(9);
  radio.setDataRate(RF24_250KBPS);        // Установка минимальной скорости;
  radio.setPALevel(RF24_PA_HIGH);         // Установка максимальной мощности;
  radio.openReadingPipe(1,pipe);
  radio.startListening();
  myservo1.attach(4);
  myservo2.attach(8); 
  myservo3.attach(3);
  pinMode(7, OUTPUT);
  pinMode(10, OUTPUT);
  digitalWrite(10,LOW);
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  pinMode(16, OUTPUT);
  pinMode(17, OUTPUT);
  pinMode(18, OUTPUT);
  pinMode(19, OUTPUT);
}


void loop()  
{
  if ( radio.available() )
  {
    bool done = false;
    while (!done)
    {
      done = radio.read( joystick, sizeof(joystick) );
      myservo1.write(joystick[0]);
      myservo2.write(joystick[2]);
      myservo3.write(joystick[4]);
      digitalWrite(14, !joystick[5]);
      digitalWrite(15, !joystick[6]);
      digitalWrite(16, !joystick[7]);
      digitalWrite(7, !joystick[8]);  
      
     if(joystick[1]>500 && joystick[1]<524)
{    digitalWrite(17,LOW);
     digitalWrite(10,LOW);
}
             if(joystick[1]>524)
             {   pwm = map(joystick[1], 524,1024,0,255);
                 analogWrite(5,pwm);
                 digitalWrite(17,LOW);
                 digitalWrite(10,HIGH);
             }
                         if(joystick[1]<500)
                         {   pwm = map(joystick[1],500,0,0,255);
                             analogWrite(5,pwm);
                             digitalWrite(17,HIGH);
                             digitalWrite(10,LOW);
                         }
                         
if(joystick[3]>500 && joystick[3]<524)
{    digitalWrite(18,LOW);
     digitalWrite(19,LOW);
}
             if(joystick[3]>524)
             {   pwm2 = map(joystick[3], 524,1024,0,255);
                 analogWrite(6,pwm2);
                 digitalWrite(18,LOW);
                 digitalWrite(19,HIGH);
             }
                           if(joystick[3]<500)
                           {   pwm2 = map(joystick[3],500,0,0,255);
                               analogWrite(6,pwm2);
                               digitalWrite(18,HIGH);
                               digitalWrite(19,LOW);
                           }          
  }
  }
  else
  {       
  }
  }

 

nik182
Offline
Зарегистрирован: 04.05.2015

А в какой строке ошибка и сам вывод ошибки скопировать и вставить как программу, да ещё и под спойлер, чтобы не листать по многу, религия не позволяет?

Vladislav4774
Offline
Зарегистрирован: 17.01.2020

Вы наверное как листать, так и читать до конца не любите. Я не программирую, эту программу писал не я, и я не знал что нужно для решения данной проблемы. 

Ошибка выводится в 47 строке вверху.

Полный текст компиляции с ошибкой такой:

C:\Users\IT-Service\Desktop\RC\priemnik\priemnik\priemnik.ino: In function 'void loop()':


priemnik:47:53: error: void value not ignored as it ought to be

       done = radio.read( joystick, sizeof(joystick) );

                                                     ^

Несколько библиотек найдено для "SPI.h"
 Используется: E:\Vladik\Arduino
Несколько библиотек найдено для "nRF24L01.h"
 Используется: E:\Vladik\Arduino
Несколько библиотек найдено для "Servo.h"
 Используется: E:\Vladik\Arduino
exit status 1
void value not ignored as it ought to be

Спойлер не умею делать, уж простите.

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Vladislav4774 пишет:

Вы наверное как листать, так и читать до конца не любите. Я не программирую, эту программу писал не я, и я не знал что нужно для решения данной проблемы. 

Если не знаете, что именно нужно, помещайте полную диагностику. Собственно, ключ к разрешению был как раз в той части, что Вы опустили: Arduino IDE нашла несколько одноименных библиотек и подключила не ту, что Вам нужно. Уберите лишние.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Уберите из начала 47 строки "done = ". Эта ошибка уйдёт.

Правда, данному скетчу это не поможет, но это уже тема последующих постов.

Vladislav4774
Offline
Зарегистрирован: 17.01.2020

Супер! Скомпилировалось, спасибо огромное