यह आलेख nRF24LU1 + मॉड्यूल के USB स्टैक ऑपरेशन का वर्णन करता है। पहले भाग में, एक छोटा सा परिचय, सॉफ्टवेयर की स्थापना और एसडीके, हैलो वर्ल्ड।दूसरे भाग में हम होस्ट के साथ इनिशियलाइजेशन, एन्यूमरेशन, विनुएसबी सपोर्ट और डेटा एक्सचेंज पर विचार करेंगे। यह माना जाता है कि पाठक को USB की प्रारंभिक समझ है। यदि नहीं, तो मैं आपको उत्कृष्ट मैनुअल के साथ खुद को परिचित करने की सलाह देता हूं ।
मैंने ईबे पर अपने चिप्स का ऑर्डर दिया । 2 मॉड्यूल और एक SPI प्रोग्रामर शामिल थे। उसी सेट को ऑर्डर करने वालों के लिए मरहम में प्रत्यक्ष उड़ान। मॉड्यूल पर प्रोग्रामिंग कनेक्टर में कोई रीसेट लाइन नहीं है। इसके बिना, आईएसपी प्रोग्रामिंग काम नहीं करती है। मुझे ध्यान से मिलाप करना था।
सिद्धांत रूप में, चिप्स को अंतर्निहित बूटलोडर के माध्यम से प्रोग्राम किया जा सकता है (और यहां तक कि अपना खुद का लिखें)। Ftdi , Arduino और अधिक के आधार पर SPI फ्लैशर्स का एक गुच्छा भी है । प्रोग्रामिंग प्रक्रिया nrf24le1 चिप के समान है। NRF24LU1 +चिप है:- 2.4GHz nRF24l01 + ट्रांसीवर
- फुल स्पीड USB 2.0 कंट्रोलर
- इंटेल एमसीएस 51 कोर के साथ 8 बिट माइक्रोकंट्रोलर
- 16 या 32 केबी फ्लैश
चिप का आंतरिक उपकरण:
उन विशेषताओं के बारे में जो ध्यान देने योग्य हैं कि तेज़ रैम केवल 256 बाइट्स (IRAM) है। शेष 2 केबी (एसआरएएम) बाहरी बस में स्थित हैं, क्रमशः उन तक पहुंच धीमी है। एक एन्क्रिप्शन मॉड्यूल भी है।कॉन्फ़िगर Keil, nRFgo एसडीके, और हैलो वर्ल्ड
सभी विकास Keil और nRFgo SDK के वातावरण में आयोजित किए जाएंगे। डाउनलोड, स्थापित करें ( tyts , tyts )।परियोजना के संगठन के बारे में कुछ शब्द। मैंने यह ढांचा बनाया। कंपाइलर, एचएएल और एलआईबी को एनआरएफगो एसडीके से कॉपी किया गया। प्रोजेक्ट पहले से ही सीधे प्रोजेक्ट फ़ोल्डर में होंगे।├───compiler
│ ├───c51
│ ├───common
│ └───icc8051
├───hal
│ ├───nrf24l01p
│ ├───nrf24le1
│ └───nrf24lu1p
├───lib
│ ├───adns7530
│ ├───assertions
│ ├───crypt
│ ├───display
│ ├───eeprom
│ ├───eeprom255
│ └───rf_test
└───projects
└───HelloWolrd
हम केइल में चलते हैं। परियोजना - नया uVision विषय। हम प्रोजेक्ट के साथ कैटलॉग का चयन करते हैं, प्रोजेक्ट का नाम दर्ज करते हैं। अगला, चित्र के रूप में चिप का चयन करें, हर चीज से सहमत हों।
इसके बाद, प्रोजेक्ट में एक नया स्रोत जोड़ें (सोर्स ग्रुप 1 पर राइट-क्लिक करें - नया आईम जोड़ें)।पहला प्रोग्राम, हैलो वर्ल्ड में अंतहीन प्रिंट! UART#include <stdio.h>
#include "nrf24lu1p.h"
#include "hal_uart.h"
#include "hal_delay.h"
char putchar(char c)
{
hal_uart_putchar(c);
return c;
}
void putstring(char *s)
{
while(*s != 0)
putchar(*s++);
}
void main(void)
{
P0DIR = 0x00;
hal_uart_init(UART_BAUD_57K6);
EA = 1;
for(;;)
{
putstring("\r\nHello World!\r\n");
delay_ms(1000);
}
}
इसके अलावा, आपको परियोजना में दो फाइलें जोड़ने की जरूरत है:hal\nrf24lu1p\hal_uart.c
hal\hal_delay.c
पाठक शायद पहले ही समझ गए थे कि हम सिर्फ अपनी चिप के लिए स्रोत कोड को जोड़ रहे हैं।सब कुछ सही ढंग से एक साथ करने के लिए, आपको कुछ टिक लगाने और कंपाइलर के लिए शामिल पथ को पंजीकृत करने की आवश्यकता है।परियोजना के लिए सही कील - विकल्प।
आउटपुट चिनाई में, हेक्स फ़ाइल बनाएँ चेकबॉक्स की जाँच करें।अगला, C51 टैब में, शामिल करें लिखें..\..\hal;..\..\hal\nrf24lu1p;..\..\compiler\c51;..\..\compiler\common;
किसी प्रोजेक्ट को एक साथ रखना। परिणामस्वरूप हेक्स फ़ाइल नियंत्रक में प्रोग्रामर से भर जाती है। मेरे मामले में, चीनी ने इस तरह का सॉफ्टवेयर भेजा। प्रोग्रामर खुद को एक छिपाई डिवाइस के रूप में परिभाषित किया गया है, इसे ड्राइवरों की आवश्यकता नहीं है। प्रोग्रामिंग से पहले, चिप को मिटा दिया जाना चाहिए।सॉफ्टवेयर यहां से डाउनलोड किया जा सकता है ।
यदि सब कुछ सही ढंग से किया गया था, हैलो वर्ल्ड को UART में एक बार एक बार डाला जाएगा।अगले भाग में जारी USB आरंभीकरण, गणना, WinUSB समर्थन और मेजबान विनिमय पर विचार किया जाएगा।का दूसरा भाग