Английский | 简体中文 | 繁體中文 | 日本語 | Deutsch | 한국어
NRF24L01+ представляет собой приемопередатчик с одним чипом 2,4 ГГц с встроенным протоколом базовой полосы (Enhanced Shockburst ™), подходящим для сверх низкого уровня беспроводных приложений. NRF24L01+ предназначен для работы во всемирной частотной полосе ISM, 2,400 - 2,4835GHZ. Для разработки радиосистемы с NRF24L01+ вам просто нужен MCU (микроконтроллер) и несколько внешних пассивных компонентов. Ваши можете работать и настраивать NRF24L01+ через серийный интерфейс (SPI). Карта регистра, которая доступна через SPI, содержит все регистры конфигурации в NRF24L01+ и доступна во всех режимах операции чипа. Встроенный протокол BaseBand (Enhanced Shockburst ™) основан на коммуникации пакетов и поддерживает различные режимы от ручной работы до продвинутой работы автономной протокола. Внутренние FIFO обеспечивают плавный поток данных между радиопередником и MCU системы. Enhanced Shock-Burst ™ снижает стоимость системы, обрабатывая все высокоскоростные операции слоя канала. Фронт-конце радио использует модуляцию GFSK. Он имеет настраиваемые пользовательские параметры, такие как частотный канал, выходная мощность и скорость передачи данных воздуха. NRF24L01+ поддерживает скорость передачи данных воздуха 250 кбит / с, 1 Мбит / с и 2 Мбит / с. Высокая скорость передачи данных в сочетании с двумя режимами экономии мощности делает NRF24L01+ очень подходящий для ультра низких мощных конструкций. NRF24L01+ совместима с NRF24L01 и на воздухе, совместимые с NRF2401A, NRF2402, NRF24E1 и NRF24E2. Интермодуляция и широкополосные значения блокировки в NRF24L01+ значительно улучшены по сравнению с NRF24L01, и добавление внутренней фильтрации в NRF24L01+ улучшило маржи для соответствия регуляторным стандартам RF. Внутренний диапазон питания. NRF24L01 используется в периферийных устройствах беспроводных ПК, мыши, клавиатуры, пультах, игровых контроллерах и так далее.
Libdriver NRF24L01 - это драйвер функции NRF24L01, запущенный Libdriver.it, предоставляет функции беспроводной подачи, беспроводного получения и т. Д. Libdriver соответствует MISRA.
/SRC включает в себя исходные файлы Libdriver NRF24L01.
/Интерфейс включает в себя Libdriver NRF24L01 SPI Platform Независимый шаблон.
/Тест включает в себя код тестирования драйвера Libdriver NRF24L01, и этот код может просто проверить необходимую функцию чипа.
/Пример включает в себя Libdriver NRF24L01 пример кода.
/DOC включает в себя Libdriver NRF24L01 Offline Document.
/DataSheet включает в себя DASHASHIT NRF24L01.
/Project включает в себя общий код образца Development Board. Все проекты используют скрипт оболочки для отладки драйвера, и инструкция по деталям можно найти в readme.md каждого проекта.
/MISRA включает в себя результаты сканирования кода Libdriver Misra.
Справочный /интерфейс SPI Платформа независимого шаблона и завершить драйвер SPI платформы.
Добавьте каталог /SRC, драйвер интерфейса для вашей платформы и ваши собственные драйверы в ваш проект, если вы хотите использовать примеры примеров по умолчанию, добавьте каталог /пример в свой проект.
Вы можете обратиться к примерам в каталоге /примеров, чтобы завершить свой собственный драйвер. Если вы хотите использовать примеры программирования по умолчанию, вот как их использовать.
#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 ;Онлайн документы: https://www.libdriver.com/docs/nrf24l01/index.html.
Оффлайн документы: /док/html/index.html.
Пожалуйста, обратитесь к Appling.md.
Copyright (C) 2015 - НАСТОЯЩИЕ ЛИБРИРЕР. Все права защищены
Лицензия MIT (MIT)
Настоящим предоставляется разрешение бесплатно любому лицу, получающему копию
этого программного обеспечения и связанных с ними файлов документации («Программное обеспечение»), чтобы иметь дело
в программном обеспечении без ограничений, включая, помимо прочего, права
Чтобы использовать, копировать, изменять, объединять, публиковать, распространять, сублиценс и/или продавать
копии программного обеспечения и разрешить лицам, которым является программное обеспечение
меблировано для этого, при условии следующих условий:
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должно быть включено во все
копии или существенные части программного обеспечения.
Программное обеспечение предоставляется «как есть», без каких -либо гарантий, экспресс или
Подразумевается, в том числе, но не ограничиваясь гарантиями торговой точки зрения,
Фитнес для определенной цели и не нанесения нанесения. Ни в каком случае
Авторы или владельцы авторских прав нести ответственность за любые претензии, ущерб или другие
Ответственность, будь то в действии договора, деликт или иным образом, возникает из
Вне или в связи с программным обеспечением или использованием или другими делами в
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
Пожалуйста, отправьте электронное письмо по адресу [email protected].