Hallo,
mein NRF24l01+ verhällt sich ziemlich komisch.
Ich habe folgenden Code
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
#define MODE 1
RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F0E1LL;
const uint64_t pipe_2 = 0xF0F0F0F0D2LL;
void setup()
{
Serial.begin(57600);
printf_begin();
radio.begin();
radio.openReadingPipe(2,pipe);
radio.openWritingPipe(pipe_2);
radio.startListening();
radio.printDetails();
}
void loop()
{
}
Da ist überhaupt keine Magie drin. Ganz simples Setup.
Das Problem ist nur, dass er meine Config einfach ignoriert. Die Adressen sind schlichtweg nicht die, die ich gesetzt habe:
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xc2c2c2c2c2
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xe7e7e7e7e7
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x02
RF_SETUP = 0x0f
CONFIG = 0x08
DYNPD/FEATURE = 0x00 0x00
Data Rate = 2MBPS
Model = nRF24L01+
CRC Length = 8 bits
PA Power = PA_MAX
Mein erste Vermutung war natürlich, dass die Wiring schlichtweg falsch ist. Habe das jetzt mehrmals gechecked... Es stimmt.
Ich habe dann ein wenig mit dem Code rumprobiert. Wenn ich den Aufruf von "radio.startListening();" weg lasse, dann hat er die richtigen Adressen drin:
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xf0f0f0f0d2 0xc2c2c2c2c2
RX_ADDR_P2-5 = 0xe1 0xc4 0xc5 0xc6
TX_ADDR = 0xf0f0f0f0d2
RX_PW_P0-6 = 0x20 0x00 0x20 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x07
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
An der Stelle bin ich wirklich ratlos! Er kann ja offenbar mit dem NRF24 kommunizieren, sonst würde er die Adressen ja nicht gesetzt bekommen. Nur beim StartListening geht dann was schief.
Ich benutzt ein Arduino Pro mini 328P 5V und ein NRF24l01+
Wenn ich das Funkmodul an ein Arduino Uno anschließen, läuft es ohne Probleme. Es wird also an meiner Schaltung liegen. Ich komme aber einfach nicht drauf, was es sein kann.
Hier noch ein Bild von meiner Schaltung. Allerdings sieht man nicht all zu viel. Das soll seine Steuerung für ein RGB Strip werden: