توضح هذه المقالة تشغيل مكدس USB للوحدة النمطية nRF24LU1 +. في الجزء الأول ، مقدمة صغيرة ، تثبيت البرامج و SDK ، Hello World.في الجزء الثاني ، سننظر في التهيئة والتعداد ودعم WinUSB وتبادل البيانات مع المضيف. من المفترض أن القارئ لديه فهم أولي لـ USB. إذا لم يكن الأمر كذلك ، أنصحك بالتعرف على الدليل الممتاز .
أمرت رقائق بلدي على موقع ئي باي . وشملت كانت وحدتين ومبرمج SPI. يطير مباشرة في مرهم لأولئك الذين يأمرون نفس المجموعة. لا يوجد خط إعادة تعيين في موصل البرمجة على الوحدة النمطية نفسها. بدونها ، لا تعمل برمجة ISP. اضطررت إلى لحام بعناية.
من حيث المبدأ ، يمكن برمجة الرقائق من خلال أداة تحميل التشغيل المضمنة (وحتى كتابة الخاصة بك). وهناك أيضا مجموعة من فلاشات SPI على أساس FTDI ، اردوينو وأكثر من ذلك. تشبه عملية البرمجة شريحة nrf24le1.رقاقة nRF24LU1 + هي:- 2.4 غيغاهرتز nRF24l01 + جهاز الإرسال والاستقبال
- تحكم USB 2.0 بسرعة كاملة
- متحكم 8 بت مع Intel MCS 51 core
- فلاش 16 أو 32 كيلو بايت
الجهاز الداخلي للرقاقة:
من بين الميزات الجديرة بالذكر أن ذاكرة الوصول العشوائي السريعة هي 256 بايت فقط (IRAM). تقع 2 كيلو بايت المتبقية (SRAM) على الناقل الخارجي ، على التوالي ، والوصول إليها أبطأ. هناك أيضًا وحدة تشفير.قم بتكوين Keil و nRFgo SDK و Hello World
سيتم إجراء جميع عمليات التطوير في بيئة Keil و nRFgo SDK. تحميل وتثبيت ( tyts ، tyts ).بضع كلمات حول تنظيم المشروع. لقد خلقت هذا الهيكل. تم نسخ برنامج التحويل البرمجي و HAL و LIB من nRFgo SDK. ستكون المشاريع موجودة بالفعل مباشرة في مجلد المشاريع.├───compiler
│ ├───c51
│ ├───common
│ └───icc8051
├───hal
│ ├───nrf24l01p
│ ├───nrf24le1
│ └───nrf24lu1p
├───lib
│ ├───adns7530
│ ├───assertions
│ ├───crypt
│ ├───display
│ ├───eeprom
│ ├───eeprom255
│ └───rf_test
└───projects
└───HelloWolrd
نذهب في Keil. المشروع - مشروع uVision الجديد. نختار الكتالوج مع المشروع ، أدخل اسم المشروع. بعد ذلك ، حدد الشريحة كما في الصورة ، توافق على كل شيء.
بعد ذلك ، أضف مصدرًا جديدًا إلى المشروع (انقر بزر الماوس الأيمن على Source Group 1 - Add New Iteam).البرنامج الأول ، اطبع بلا نهاية في Hello World! 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
ربما يكون القارئ قد فهم بالفعل أننا نقوم بتوصيل الكود المصدري للرقاقة الخاصة بنا بالضبط.للحصول على كل شيء معًا بشكل صحيح ، تحتاج إلى وضع بعض العلامات وتسجيل مسار تضمين للمترجم.إسفين مناسب للمشروع - خيارات.
في البناء الناتج ، حدد خانة الاختيار إنشاء ملف HEX.بعد ذلك ، في علامة التبويب C51 ، اكتب تضمين..\..\hal;..\..\hal\nrf24lu1p;..\..\compiler\c51;..\..\compiler\common;
وضع مشروع. يتم تعبئة الملف السداسي الناتج بالمبرمج في وحدة التحكم. في حالتي ، أرسل الصينيون هذا النوع من البرامج. يتم تعريف المبرمج نفسه على أنه جهاز HID ، ولا يتطلب برامج تشغيل. قبل البرمجة ، يجب محو الشريحة.يمكن تنزيل البرنامج هنا .
إذا تم عمل كل شيء بشكل صحيح ، فسيتم سكب Hello World مرة واحدة في الثانية في UART.تابع في الجزء التالي. سيتم النظر في تهيئة USB والتعداد ودعم WinUSB وتبادل المضيف.الجزء الثاني