Englisch | 简体中文 | 繁體中文 | 日本語 | Deutsch | 한국어
Der NRF24L01+ ist ein einzelner Chip 2,4 GHz -Transceiver mit einem eingebetteten Basisbandprotokollmotor (Enhanced ShockBurst ™), das für drahtlose ultra -Stromanwendungen geeignet ist. Der NRF24L01+ ist für den Betrieb im weltweiten ISM -Frequenzband bei 2,400 - 2,4835GHz konzipiert. Um ein Funksystem mit dem Nrf24L01+ zu entwerfen, benötigen Sie einfach eine MCU (Mikrocontroller) und einige externe passive Komponenten. Die Registerkarte, auf die über den SPI zugegriffen werden kann, enthält alle Konfigurationsregister im NRF24L01+ und ist in allen Betriebsmodi des Chips zugegriffen. Die eingebettete Basisband -Protokoll -Engine (Enhanced Shockburst ™) basiert auf der Kommunikation zwischen Paketen und unterstützt verschiedene Modi vom manuellen Betrieb bis hin zu dem Vorbetrieb für den Vorbetrieb des Autonomous -Protokolls. Interne FIFOs sorgen für einen reibungslosen Datenfluss zwischen dem Funk -Front -End und der MCU des Systems. Enhanced Shock-Burst ™ senkt die Systemkosten durch die Handhabung aller Hochgeschwindigkeits-Verbindungsschichtvorgänge. Das Frontend verwendet die GFSK-Modulation. Es verfügt über konfigurierbare Benutzerparameter wie Frequenzkanal, Ausgangsleistung und Luftdatenrate. NRF24L01+ unterstützt eine Luftdatenrate von 250 kbit / s, 1 Mbit / s und 2 Mbit / s. Die Hochluftdatenrate in Kombination mit zwei Leistungssparmodi macht das NRF24L01+ für ultra niedrige Power-Designs sehr geeignet. NRF24L01+ ist mit NRF24L01 und On-Air-kompatibel mit NRF2401A, NRF2402, NRF24E1 und NRF24E24E2 geeignet. Die Intermodulations- und Breitbandblockierungswerte in Nrf24L01+ werden im Vergleich zum Nrf24L01 erheblich verbessert, und die Hinzufügung der internen Filterung zu Nrf24L01+ hat die Margen für die Erfüllung der HF -Regulierungsstandards und ein breites Stromversorgungsansatz (PSR) und ein breites Stromversorgungsbereich (PSR) und ein breites Stromversorgungsbereich verbessert. NRF24L01 wird in drahtlosen PC -Peripheriegeräten, Maus, Tastaturen, Fernbedienungen, Spielcontrollern usw. verwendet.
LiBDriver Nrf24L01 ist der vollständige Funktionstreiber von Nrf24L01, der von LiBDriver eingeführt wurde.
/src enthält libriiver nrf24l01 Quelldateien.
/Schnittstelle enthält libriiver nrf24l01 SPI -Plattform -unabhängige Vorlage.
/Der Test beinhaltet den Treibertestcode von LiBDriver NRF24L01, und dieser Code kann die erforderliche ChIP -Funktion einfach testen.
/Beispiel enthält den Beispielcode für Libertrver NRF24L01.
/doc enthält libriiver nrf24l01 offline -Dokument.
/Datenblatt enthält NRF24L01 -Datenblatt.
/Projekt umfasst den Probencode für Linux- und MCU Development Board. Alle Projekte verwenden das Shell -Skript, um den Treiber zu debuggen, und die Detailanweisung finden Sie in Readme.MD jedes Projekts.
/Misra enthält die Libriver Misra Code Scanning -Ergebnisse.
Referenz- /Schnittstellen -SPI -Plattform -unabhängige Vorlage und beenden Sie Ihren Plattform -SPI -Treiber.
Fügen Sie das Verzeichnis /SRC, den Schnittstellentreiber für Ihre Plattform und Ihre eigenen Treiber in Ihr Projekt hinzu, wenn Sie die Standard -Beispieltreiber verwenden möchten, fügen Sie Ihr Projekt das /Beispiel -Verzeichnis hinzu.
Sie können auf die Beispiele im Verzeichnis /Beispiel verweisen, um Ihren eigenen Treiber zu vervollständigen. Wenn Sie die Standard -Programmierbeispiele verwenden möchten, verwenden Sie sie.
#include "driver_nrf24l01_basic.h"
uint8_t ( * g_gpio_irq )( void ) = NULL ;
uint8_t res ;
uint8_t addr [ 5 ] = NRF24L01_BASIC_DEFAULT_RX_ADDR_0 ;
...
static void a_callback ( uint8_t type , uint8_t num , uint8_t * buf , uint8_t len )
{
switch ( type )
{
case NRF24L01_INTERRUPT_RX_DR :
{
uint8_t i ;
nrf24l01_interface_debug_print ( "nrf24l01: irq receive with pipe %d with %d.n" , num , len );
for ( i = 0 ; i < len ; i ++ )
{
nrf24l01_interface_debug_print ( "0x%02X " , buf [ i ]);
}
nrf24l01_interface_debug_print ( ".n" );
break ;
}
case NRF24L01_INTERRUPT_TX_DS :
{
nrf24l01_interface_debug_print ( "nrf24l01: irq send ok.n" );
break ;
}
case NRF24L01_INTERRUPT_MAX_RT :
{
nrf24l01_interface_debug_print ( "nrf24l01: irq reach max retry times.n" );
break ;
}
case NRF24L01_INTERRUPT_TX_FULL :
{
break ;
}
default :
{
break ;
}
}
}
...
res = gpio_interrupt_init ();
if ( res != 0 )
{
return 1 ;
}
g_gpio_irq = nrf24l01_interrupt_irq_handler ;
res = nrf24l01_basic_init ( NRF24L01_TYPE_TX , a_callback );
if ( res != 0 )
{
( void ) gpio_interrupt_deinit ();
g_gpio_irq = NULL ;
return 1 ;
}
if ( nrf24l01_basic_send (( uint8_t * ) addr , ( uint8_t * ) "123" , 3 ) != 0 );
{
( void ) nrf24l01_basic_deinit ();
( void ) gpio_interrupt_deinit ();
g_gpio_irq = NULL ;
return 1 ;
}
if ( nrf24l01_basic_deinit () != 0 )
{
( void ) gpio_interrupt_deinit ();
g_gpio_irq = NULL ;
return 1 ;
}
( void ) gpio_interrupt_deinit ();
g_gpio_irq = NULL ;
return 0 ; #include "driver_nrf24l01_basic.h"
uint8_t ( * g_gpio_irq )( void ) = NULL ;
uint8_t res ;
uint32_t timeout ;
...
static void a_callback ( uint8_t type , uint8_t num , uint8_t * buf , uint8_t len )
{
switch ( type )
{
case NRF24L01_INTERRUPT_RX_DR :
{
uint8_t i ;
nrf24l01_interface_debug_print ( "nrf24l01: irq receive with pipe %d with %d.n" , num , len );
for ( i = 0 ; i < len ; i ++ )
{
nrf24l01_interface_debug_print ( "0x%02X " , buf [ i ]);
}
nrf24l01_interface_debug_print ( ".n" );
break ;
}
case NRF24L01_INTERRUPT_TX_DS :
{
nrf24l01_interface_debug_print ( "nrf24l01: irq send ok.n" );
break ;
}
case NRF24L01_INTERRUPT_MAX_RT :
{
nrf24l01_interface_debug_print ( "nrf24l01: irq reach max retry times.n" );
break ;
}
case NRF24L01_INTERRUPT_TX_FULL :
{
break ;
}
default :
{
break ;
}
}
}
...
timeout = 5000 ;
res = gpio_interrupt_init ();
if ( res != 0 )
{
return 1 ;
}
g_gpio_irq = nrf24l01_interrupt_irq_handler ;
res = nrf24l01_basic_init ( NRF24L01_TYPE_RX , a_callback );
if ( res != 0 )
{
( void ) gpio_interrupt_deinit ();
g_gpio_irq = NULL ;
return 1 ;
}
nrf24l01_interface_delay_ms ( timeout );
if ( nrf24l01_basic_deinit () != 0 )
{
( void ) gpio_interrupt_deinit ();
g_gpio_irq = NULL ;
return 1 ;
}
( void ) gpio_interrupt_deinit ();
g_gpio_irq = NULL ;
return 0 ;Online -Dokumente: https://www.libdriver.com/docs/nrf24l01/index.html.
Offline -Dokumente: /doc/html/index.html.
Bitte beziehen Sie sich auf den Beitrag.md.
Copyright (C) 2015 - Präsentieren Sie alle Rechte vorbehalten.
Die MIT -Lizenz (MIT)
Die Erlaubnis wird hiermit kostenlos an jede Person erteilt, die eine Kopie erhält
dieser Software und zugehörigen Dokumentationsdateien ("Software"), um zu handeln
In der Software ohne Einschränkung, auch ohne Einschränkung der Rechte
zu verwenden, zu kopieren, zu ändern, zusammenzufassen, zu veröffentlichen, zu vertreiben, zu unterlizenzieren und/oder verkaufen
Kopien der Software und Personen, denen die Software ist
Zu den folgenden Bedingungen geliefert:
Die oben genannte Urheberrechtsbekanntmachung und diese Berechtigungsbekanntmachung ist in alle enthalten
Kopien oder wesentliche Teile der Software.
Die Software wird "wie es ist" bereitgestellt, ohne dass eine Garantie jeglicher Art ausdrückt oder
Impliziert, einschließlich, aber nicht beschränkt auf die Garantien der Marktgängigkeit,
Fitness für einen bestimmten Zweck und Nichtverlust. In keinem Fall die
Autoren oder Urheberrechtsinhaber haften für Ansprüche, Schäden oder andere
Haftung, sei es bei Vertragsklagen, unerlaubter Handlung oder anderweitig, entsteht aus,
Aus oder im Zusammenhang mit der Software oder der Verwendung oder anderen Geschäften in der
SOFTWARE.
Bitte senden Sie eine E-Mail an [email protected].