Ich weiß, dass nRF24LE1 einen 8051-Kern hat und ein kompatibles HF-Protokoll mit nRF24L01 + ist. Aber sind die nordischen Bibliotheken mit Arduino-Bibliotheken kompatibel? Hat jemand diese beiden Geräte verwendet, helfen Sie mir bitte bei der Suche nach kompatiblen Bibliotheken. Ich möchte einen Sensor an nRF24LE1 anschließen und die Messwerte an Arduino senden.
Alle nRF24*-ICs können mit allen anderen nRF24*-Geräten kommunizieren. Von der nRF24LE1-Webseite :
Fully on-air compatible with all Nordic nRF24L-series, nRF24E-series and nRF240-series solutions
Ich denke, Sie müssen aufhören, in Begriffen von "Bibliotheken" zu denken, und anfangen, in Begriffen zu denken, "wie kommuniziert das Gerät eigentlich".
Ich habe kürzlich einige Zeit damit verbracht, an einer nRF-Bibliothek für den Atmel xmega zu arbeiten (ich habe den größten Teil des Codes aus einem ähnlichen Projekt für den MSP430 gestohlen), und mit der nRF-Geräteserie ist nicht allzu viel los. Das Datenblatt ist ein bisschen knapp, und es gibt ein seltsames Verhalten, das erst Sinn machen kann, nachdem Sie das Datenblatt ein paar Mal gelesen haben, aber wenn Sie hoffen, ein Gerät ernsthaft zu verwenden, sollten Sie ziemlich gründliche Kenntnisse darüber haben Datenblatt sowieso.
Ich würde vorschlagen, dass Sie anfangen, sich anzusehen, wie Sie tatsächlich mit dem nRF-Gerät kommunizieren. Interessanterweise scheint die Schnittstelle zum HF-Kommunikations-Transceiver im nRF24LE1 tatsächlich nahezu identisch mit dem diskreten nRF24L01+ zu sein, sogar bis zu dem Punkt, an dem eine On-Chip-SPI-Schnittstelle für die Kommunikation zwischen dem 8051-Kern und der HF-Schnittstelle verwendet wird (ich frage mich, ob es sind zwei separate Chips in einem Paket?). Die Hauptunterschiede scheinen zu sein, dass der nRF24LE1+ diskrete Interrupt-Vektoren für die verschiedenen Interrupt-Optionen der HF-Schnittstelle hat, während der nRF24L01+ einen einzigen IRQ-Pin hat.
Unter der Annahme, dass Sie anständig modularen Code schreiben, können Sie wahrscheinlich erhebliche Teile des Codes zwischen den beiden Geräten teilen.
Nein, die Standard-Arduino-Bibliotheken sind weitgehend inkompatibel mit etwas anderem als AVR. Generell werden nur eine Handvoll ATmega-Varianten unterstützt (zu finden im Tools=>Board-Menü). Die Bibliotheken sind eng mit der verwendeten Hardware verbunden und daher nicht mit anderen Geräten kompatibel.
Tatsächlich ist dies der Grund für die Existenz dieser Bibliotheken, denn wenn Sie einen Arduino-Sketch auf nicht unterstützte Hardware portieren möchten, müssen Sie nur die Bibliotheken auf die neue Architektur portieren.
Ein weiteres Problem, das Sie lösen müssten, ist die Programmierhard- und -software und die Schnittstelle zur Arduino IDE. Unterschiedliche Chips können unterschiedliche Algorithmen zum Programmieren verwenden und haben natürlich eine unterschiedliche Pinbelegung. Und natürlich benötigt dieser Programmierer einen unterstützten Treiber.
Ich habe PICduino und natürlich den Arduino Due gesehen, der eine ARM-Architektur hat. Es ist also machbar, aber nichts für schwache Nerven.
Jippie