Nrf24l01 hata

Katılım
14 Ara 2020
Mesajlar
22
Puanları
1
void value not ignored as it ought to be
arkadaşlar nrf modülümün alıcı bölümünde böyle bir hata çıkıyor yardımcı olabilirmisiniz?
kodun tamamı bu;
Kod:
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "Servo.h"

Servo motor;
int veri[1];
RF24 radio(9,10);
const uint64_t eslesme = 0xE8E8F0F0E1LL;
void setup() {
  motor.attach(6);
  Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, eslesme);
radio.startListening();
}

void loop() {
if (radio.available()){
  bool done=false;
  while (!done){
    done=radio.read(veri, 1); bu bölümde hata gösteriyor
    Serial.println(veri[0]);
    delay(10);
    motor.write(veri[0]);
    }
  }
  else{Serial.println("Sinyal Bulunamadı...");}
}
 
Moderatör tarafında düzenlendi:
done=radio.read(veri,1)

radio.read() fonksiyonunun bool olduğuna emin misin? Alet bu void fonksiyon olduğu için gözardı edilmesi gerekir ama edilmiyor diyor. Bir veri döndürmediği için de done hiçbir zaman true olamıyordur.
 
int veri tipinin uzunluğu 1 değil.
C++:
done = radio.read( veri, 1) );
yerine
C++:
done = radio.read( &veri[0], sizeof(int) );
şeklinde deneyin.
 
Olmayan ne?
Derleme hatası mı, yoksa derleniyor da istediğin gibi mi çalışmıyor.
 
Eski kutuphanede void döndürüyor, yeni kütüphane bool. Eskiyi kaldır yeniyi yükle. Ya da eski örnekleri kullan
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…