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.
 
Eski kutuphanede void döndürüyor, yeni kütüphane bool. Eskiyi kaldır yeniyi yükle. Ya da eski örnekleri kullan
 

Forum istatistikleri

Konular
133,382
Mesajlar
971,005
Kullanıcılar
459,230
Son üye
sabri erdogan

Yeni konular

Geri
Üst