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,383
Mesajlar
971,015
Kullanıcılar
459,236
Son üye
denizkapikiran

Yeni konular

Geri
Üst