Können im RX-Modus Pakete aus dem NRF24L01+ ausgelesen werden?

Das Datenblatt besagt also, dass Register nur geschrieben werden können, wenn sich der Chip im Standby-Modus befindet. Dies scheint jedoch darauf hinzudeuten, dass der Chip aus dem RX-Modus genommen werden muss, um ein Paket zu lesen und die RX-Flags zu löschen.

Dies erscheint etwas seltsam, da die TX-Seite des Chips bis zu drei Pakete hintereinander senden kann. Wenn ein Chip drei Pakete gleichzeitig senden würde und der Empfänger nach dem ersten mit der Verarbeitung beginnen würde, würden die anderen beiden verloren gehen, da sich der Empfänger nicht im RX-Modus befinden würde, wenn die nächsten beiden ankommen.

Ist das Datenblatt in diesem Punkt zu präskriptiv? Ist es möglich, die RX-FIFOs zu leeren, während man im RX-Modus bleibt? Irgendwelche praktischen Erfahrungen?

"Register können nur geschrieben werden, wenn sich der Chip im Standby-Modus befindet": Können Sie den Link zum Datenblatt und die Seite angeben, auf der Sie dies gefunden haben? IME (mit RFM73-Modulen, die eine Art Klon sind) wird dies definitiv nicht benötigt.
Das Datenblatt ist auf dieser Seite verlinkt: nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01P
Abschnitt 8.3.2: „SPI-Betrieb und -Timing sind in Abbildung 26. bis Abbildung 28. und in Tabelle 22. bis Tabelle 27 dargestellt. nRF24L01+ muss sich im Standby- oder Abschaltmodus befinden, bevor in die Konfigurationsregister geschrieben werden kann.“

Antworten (1)

Ja, das ist in der Tat verwirrend. Es ist eine Weile her, seit ich dieses Dokument gelesen habe (ich bin mit dem RFM73-Klon besser vertraut), aber beachten Sie, dass der Satz Konfigurationsregister angibt , während 8.3.1 über Befehls- und Statusregister spricht .

Meine beste Vermutung ist, dass die Einschränkung für eine kleine Teilmenge der Register gilt, wahrscheinlich nur für das CONFIG-Register. Oder es ist ein Satz, der ganz zufällig im Datenblatt gelassen wurde. Beachten Sie, dass es dem 3d-Absatz der Einleitung widerspricht.

Ich habe diesen Chip kurz verwendet (hauptsächlich um zu testen, ob er mit dem RFM73 kompatibel ist - das ist es), aber ich musste den Chip nie in den Standby-Modus versetzen, um die Pakete zu lesen oder zu schreiben.