У меня проблема с моим nano Arduino и nrf24l01 в качестве приемника.

Здравствуйте, у меня проблема с моим nano Arduino и nrf24l01 в качестве приемника. Я пытаюсь загрузить свой код на плату, но там говорится, что в моем коде есть ошибка:

Получатель:45:10: ошибка: значение void не игнорируется, как должно быть

статус выхода 1 значение void не игнорируется, как должно быть

Полный код:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>

//Код получателя (Рука)

#include <Servo.h>    //библиотека, которая помогает нам управлять серводвигателем
#include <SPI.h>      //интерфейс связи с модемом
#include "RF24.h"     //библиотека, которая помогает нам управлять радиомодемом

//определяем имя сервопривода
Servo myServo1;
Servo myServo3;
Servo myServo4;
Servo myServo2;
Servo myServo5;

RF24 radio(9,10);     /*This object represents a modem connected to the Arduino. 
                      Arguments 9 and 10 are a digital pin numbers to which signals 
                      CE and CSN are connected.*/

const uint64_t pipe = 0xE8E8F0F0E1LL; //адрес модема, который будет получать данные от Arduino.

int msg[5];

void setup(){

  //определяем входные контакты сервопривода
  myServo1.attach(15); //А1
  myServo2.attach(16); //А2
  myServo3.attach(17); //А3
  myServo4.attach(18); //А4
  myServo5.attach(19); //А5

  radio.begin();                    //он активирует модем.
  radio.openReadingPipe(1, pipe);   //определяем адрес нашего модема, на который приходят данные.
  radio.startListening();           //включаем получение данных через модем
  }


void loop(){
  if(radio.available()){
    bool done = false;
    while (!done){
    done = radio.read(msg, sizeof(msg));

    myServo1.write(msg[2]); //А1
    myServo2.write(msg[4]); //А2
    myServo3.write(msg[3]); //А3
    myServo4.write(msg[1]); //А4
    myServo5.write(msg[0]); //А5
    }
  }
}

и проблема вот в чем:

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

Я не знаю, как это сделать в виде кода. Мне жаль. Я пытаюсь запрограммировать бионическую руку, но только начал работать с платами Arduino и соответствующей программой. Если кто-то может мне помочь, я был бы очень благодарен. спасибо

, 👍0


1 ответ


1

radio.read() не возвращает значение. Вы не можете присвоить логическому значению «нет значения».

Если radio.available() истинно, то radio.read() выполнится успешно. Нет необходимости проверять, сработало это или нет.

,