الإنجليزية | 简体中文 | 繁體中文 | 日本語 | Deutsch | 한국어
يعد NRF24L01+ جهاز إرسال استقبال بحجم 2.4 جيجا هرتز مع محرك بروتوكول النطاق الأساسي المدمج (Enhanced Shockburst ™) ، وهو مناسب للتطبيقات اللاسلكية منخفضة الطاقة. تم تصميم NRF24L01+ للتشغيل في نطاق تردد ISM العالمي على ارتفاع 2.400 - 2.4835 جيجاهرتز. لتصميم نظام راديو مع NRF24L01+ ، يمكنك ببساطة MCU (Microcontroller) وبعض المكونات السلبية الخارجية. تحتوي خريطة التسجيل ، التي يمكن الوصول إليها من خلال SPI ، على جميع سجلات التكوين في NRF24L01+ ويمكن الوصول إليها في جميع أوضاع التشغيل من الرقاقة. يعتمد محرك بروتوكول النطاق الأساسي المدمج (Ondervent Scrardst ™) على الاتصالات الحزمة ويدعم أوضاع مختلفة من العملية المتقدمة إلى الحكم الذاتي المتقدم. تضمن FIFO الداخلية تدفق بيانات سلس بين الواجهة الأمامية للراديو و MCU للنظام. يعزز الصدمة BURST ™ تكلفة النظام عن طريق التعامل مع جميع عمليات طبقة الارتباط عالية السرعة. تستخدم الواجهة الأمامية للراديو تعديل GFSK. يحتوي على معلمات قابلة للتكوين للمستخدم مثل قناة التردد ، وطاقة الإخراج ومعدل بيانات الهواء. NRF24L01+ يدعم معدل بيانات الهواء قدره 250 كيلو بايت في الثانية و 1 ميغابت في الثانية و 2 ميغابت في الثانية. إن معدل بيانات الهواء المرتفع مع وضعين لتوفير الطاقة يجعل NRF24L01+ مناسبًا جدًا لتصميم الطاقة المنخفضة للغاية. NRF24L01+ متوافق مع NRF24L01 و NRF24E2 و NRF2401A و NRF2402 و NRF24E1 و NRF24E2. يتم تحسين القيم الداخلية وقيم حظر النطاق العريض في NRF24L01+ مقارنةً بالمقارنة مع NRF24L01 وإضافة التصفية الداخلية إلى NRF24L01+ قد تحسن من الهوامش لتلبية معايير RF التنظيمية. يتم استخدام NRF24L01 في الأجهزة الطرفية اللاسلكية للكمبيوتر الشخصي ، الماوس ، لوحات المفاتيح ، أجهزة التحكم عن بعد ، وحدات التحكم في الألعاب وما إلى ذلك.
Libdriver NRF24L01 هو برنامج تشغيل الوظيفة الكامل لـ NRF24L01 الذي تم إطلاقه بواسطة libdriver.it يوفر وظائف من الإرسال اللاسلكي ، والاستلام اللاسلكي ، وما إلى ذلك.
/يتضمن SRC ملفات مصدر Libdriver NRF24L01.
/الواجهة تتضمن Libdriver NRF24L01 SPI Platform قالب مستقل.
/يتضمن الاختبار رمز اختبار برنامج التشغيل libdriver NRF24L01 ، ويمكن لهذا الرمز اختبار الوظيفة اللازمة للرقاقة ببساطة.
/مثال يتضمن Libdriver NRF24L01 رمز عينة.
/DOC يتضمن libdriver nrf24l01 الوثيقة غير متصلة بالإنترنت.
/ورقة البيانات تتضمن ورقة بيانات NRF24L01.
/يتضمن المشروع رمز عينة مجلس تطوير Linux و MCU المشترك. تستخدم جميع المشاريع البرنامج النصي Shell لتصحيح السائق ويمكن العثور على تعليمات التفاصيل في كل مشروع readme.md.
/يتضمن Misra نتائج مسح رمز Libdriver Misra.
مرجع /واجهة 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.
المستندات غير المتصلة: /doc/html/index.html.
يرجى الرجوع إلى المساهمة.
حقوق الطبع والنشر (ج) 2015 - تقدم Libdriver جميع الحقوق محفوظة
ترخيص معهد ماساتشوستس للتكنولوجيا (MIT)
يتم منح إذن ، مجانًا ، لأي شخص يحصل على نسخة
من هذا البرنامج وملفات الوثائق المرتبطة ("البرنامج") ، للتعامل
في البرنامج دون قيود ، بما في ذلك على سبيل المثال لا الحصر الحقوق
لاستخدام ونسخ وتعديل ودمج ونشر وتوزيع و/أو بيع و/أو بيع
نسخ من البرنامج ، والسماح للأشخاص الذين يكون البرنامج لهم
مفروشة للقيام بذلك ، مع مراعاة الشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر أعلاه ويجب تضمين إشعار الإذن هذا في الجميع
نسخ أو أجزاء كبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون ضمان من أي نوع ، صريح أو
ضمنيًا ، بما في ذلك على سبيل المثال لا الحصر ، ضمانات القابلية للتسويق ،
اللياقة لغرض معين وعدم الانفجارات. بأي حال من الأحوال يجب
يتحمل المؤلفون أو حاملي حقوق الطبع والنشر مسؤولية أي مطالبة أو أضرار أو غيرها
المسؤولية ، سواء في إجراء عقد أو ضرر أو غير ذلك ، ناشئة عن ،
خارج أو فيما يتعلق بالبرنامج أو الاستخدام أو غيرها من المعاملات في
برمجة.
يرجى إرسال بريد إلكتروني إلى [email protected].