Forum: Mikrocontroller und Digitale Elektronik NRF24L01 defekt?


von Kaputer (Gast)


Lesenswert?

Hallo,

ich möchte gerne ein NRF24L01+ am RPI betreiben, erkannt wird es 
scheinbar auch richtig (also scheint es zu leben und ist richtig 
angeschlossen).

Ausgabe:
1
$ sudo ./examples/pingtest
2
RF24/examples/pingtest/
3
ROLE: Ping out
4
================ SPI Configuration ================
5
CSN Pin          = Custom GPIO7 (CE1) Software Driven
6
CE Pin           = Custom GPIO22
7
Clock Speed      = 8 Mhz
8
================ NRF Configuration ================
9
STATUS           = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
10
RX_ADDR_P0-1     = 0xf0f0f0f0e1 0xf0f0f0f0d2
11
RX_ADDR_P2-5     = 0xc3 0xc4 0xc5 0xc6
12
TX_ADDR          = 0xf0f0f0f0e1
13
RX_PW_P0-6       = 0x20 0x20 0x00 0x00 0x00 0x00
14
EN_AA            = 0x3f
15
EN_RXADDR        = 0x03
16
RF_CH            = 0x4c
17
RF_SETUP         = 0x23
18
CONFIG           = 0x0f
19
DYNPD/FEATURE    = 0x00 0x00
20
Data Rate        = 250KBPS
21
Model            = nRF24L01+
22
CRC Length       = 16 bits
23
PA Power         = PA_LOW
24
Now sending 122...010
25
failed.
26
Failed, response timed out.
27
Now sending 1419...010
28
failed.
29
Failed, response timed out.
30
Now sending 2716...010
31
failed.
32
Failed, response timed out.
33
Now sending 4013...010
34
failed.
35
Failed, response timed out.
36
Now sending 5312...010
37
failed.
38
Failed, response timed out.
39
Now sending 6608...010
40
failed.
41
Failed, response timed out.

Wenn ich zb CSN "kappe", wird es nicht mehr als NRF24L01+ (sondern als 
"normales") und die Register können logischerweise auch nicht gelesen 
werden.
Also sollte die Kommunitkation ja gehen?

Wenn ich es an einem Arduino anschließe, genau das selbe :(

PS: Betrieben wird es ausschließlich mit 3V3 - die Pegel sind aber 5V; 
was eigentlich ja gehen sollte.

Habt ihr noch eine Idee, außer neue zu bestellen?

von René K. (cyprius)


Lesenswert?

Wo ist der Code?

von Kaputer (Gast)


Lesenswert?


von René K. (cyprius)


Lesenswert?

CE ist angeschlossen?

von Kaputer (Gast)


Lesenswert?

Jap, alles außer IRQ, das wird bei dem Code scheinbar nicht benutzt...

von René K. (cyprius)


Lesenswert?

Hast du mal nachgemessen, ob sich der Pegel von CE beim Senden/Empfangen 
ändert?

von greg (Gast)


Lesenswert?

Kaputer schrieb:
> PS: Betrieben wird es ausschließlich mit 3V3 - die Pegel sind aber 5V;
> was eigentlich ja gehen sollte.

Was genau meinst du damit? Das Raspberry Pi hat nur 3.3V I/O und ist 
nicht 5V-tolerant.

von Max H. (hartl192)


Lesenswert?

greg schrieb:
> Kaputer schrieb:
>> PS: Betrieben wird es ausschließlich mit 3V3 - die Pegel sind aber 5V;
>> was eigentlich ja gehen sollte.
>
> Was genau meinst du damit? Das Raspberry Pi hat nur 3.3V I/O und ist
> nicht 5V-tolerant.
Vllt. hat er die 5V nur beim Arduino.

von Kaputer (Gast)


Lesenswert?

Max H. schrieb:
> Vllt. hat er die 5V nur beim Arduino.

Ja, das meinte ich - beim RPI natürlich nur 3V3-Pegel :)

Ich werde morgen wohl mal meinen Logikanalysator anklemmen und gucken, 
ob da auch alle Pins wackeln.

Danke schonmal für die Denkanstöße!

von D. V. (mazze69)


Lesenswert?

Warum fragst du, ob er kaputt ist?
Wenn du ihn laut datasheet betreibst, ist er nicht kaputt.

von Marcel P. (Gast)


Lesenswert?

Hey, also ich hatte anfangs ähnliche Probleme gehabt. Bei mir war es ein 
Timing Problem. Hatte irgendwo in radio.write() noch ein Delay (zum 
Testen z.B. 10 ms) eingebaut. Ich meine mich zu entsinnen, dass es beim 
lesen der Statusregister war. Denn, als ich meine nRF mit Interrupt 
betrieben habe, lief alles einwandfrei, deswegen hatte ich im Polling 
Betrieb einfach mal mit Delays gespielt und plötzlich ging es auch 
damit. Woran es genau lag? Ich weiß es nicht. Habe einfach mal vermutet, 
dass es im Polling Betrieb dem AVR oder dem nRF zu viel wurde.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.