Hallo Forum,
in der letzten Zeit habe ich das Problem, dass die Pipes nach dem neustart des Programms nicht richtig funktionieren und ich bei einer gesetzten Listening Pipe auf 1 Nachrichten auf Pipe 2 bekomme, wenn ich vorher das Programm mit einer Listening Pipe auf 2 hatte, obwohl diese jetzt gar nicht mehr geöffnet und gesetzt worden ist. Ich benuzte folgende NRF24 lib: Library.
Hier der code:
C
#include <iostream>
#include <RF24.h>
#include <RPi/bcm2853.h>
RF24 radio(RPI_BPLUS_GPIO_J8_15,RPI_BPLUS_GPIO_J8_24,BCM2835_SPI_SPEED_8MHZ);
int main() {
setup();
loop();
}
void setup() {
radio.begin();
radio.setRetries(15, 15);
radio.enableDynamicPayloads();
radio.printDetails();
radio.openReadingPipe(0, 0xf0f0f5);
radio.openReadingPipe(1, 0xf0f0f0);
radio.startListening();
}
void loop() {
while (true)
{
uint8_t pipe = 0;
bool available = radio.available(&pipe);
if (available && pipe < 6)
{
int msg[32];
uint8_t len = radio.getDynamicPayloadSize();
radio.read(msg, len);
std::cout << "Got " << msg[0] << " on pipe " << pipe << std::endl;
}
}
}
Alles anzeigen
Mit freundlichem Gruß,
Moritz