Artikel ini menjelaskan operasi tumpukan USB pada modul nRF24LU1 +. Pada bagian pertama, perkenalan kecil, instalasi perangkat lunak dan SDK, Hello World.Pada bagian kedua kami akan mempertimbangkan inisialisasi, enumerasi, dukungan WinUSB dan pertukaran data dengan tuan rumah. Diasumsikan bahwa pembaca memiliki pemahaman awal tentang USB. Jika tidak, saya menyarankan Anda untuk membiasakan diri dengan manual yang sangat baik .
Saya memesan chip saya di ebay . Termasuk 2 modul dan programmer SPI. Terbang langsung dalam salep untuk mereka yang memesan set yang sama. Tidak ada garis reset di konektor pemrograman pada modul itu sendiri. Tanpa itu, pemrograman ISP tidak akan berfungsi. Saya harus hati-hati menyolder.
Pada prinsipnya, chip dapat diprogram melalui bootloader bawaan (dan bahkan menulis sendiri). Ada juga sekelompok flashers SPI berdasarkan FTDI , Arduino dan banyak lagi. Proses pemrograman mirip dengan chip nrf24le1.Chip nRF24LU1 + adalah:- 2.4GHz nRF24l01 + transceiver
- pengontrol USB 2.0 kecepatan penuh
- Mikrokontroler 8 bit dengan Intel MCS 51 core
- Flash 16 atau 32 kb
Perangkat internal chip:
Dari fitur itu perlu disebutkan bahwa RAM cepat hanya 256 byte (IRAM). 2 kb (SRAM) yang tersisa terletak di bus eksternal, masing-masing, akses ke mereka lebih lambat. Ada juga modul enkripsi.Konfigurasikan Keil, nRFgo SDK, dan Hello World
Semua pengembangan akan dilakukan di lingkungan Keil dan nRFgo SDK. Unduh, pasang ( tyts , tyts ).Beberapa kata tentang organisasi proyek. Saya menciptakan struktur ini. Kompiler, HAL dan LIB disalin dari nRFgo SDK. Proyek sudah akan langsung di folder Proyek.ββββcompiler
β ββββc51
β ββββcommon
β ββββicc8051
ββββhal
β ββββnrf24l01p
β ββββnrf24le1
β ββββnrf24lu1p
ββββlib
β ββββadns7530
β ββββassertions
β ββββcrypt
β ββββdisplay
β ββββeeprom
β ββββeeprom255
β ββββrf_test
ββββprojects
ββββHelloWolrd
Kami masuk Keil. Project - New uVision Prject. Kami memilih katalog dengan proyek, masukkan nama proyek. Selanjutnya, pilih chip seperti pada gambar, setuju dengan semuanya.
Selanjutnya, tambahkan sumber baru ke proyek (klik kanan pada Grup Sumber 1 - Tambah Iteam Baru).Program pertama, cetak tanpa henti di 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);
}
}
Anda juga perlu menambahkan dua file ke proyek:hal\nrf24lu1p\hal_uart.c
hal\hal_delay.c
Pembaca, mungkin, sudah mengerti bahwa kita sedang menghubungkan kode sumber untuk chipkita.Untuk mengumpulkan semuanya dengan benar, Anda perlu memberikan beberapa tanda centang dan mendaftar.Irisan yang tepat untuk proyek - Opsi.
Dalam Output masonry, centang kotak centang buat file HEX.Selanjutnya, pada tab C51, tulis Sertakan..\..\hal;..\..\hal\nrf24lu1p;..\..\compiler\c51;..\..\compiler\common;
Menyusun proyek. File hex yang dihasilkan diisi dengan programmer di controller. Dalam kasus saya, orang Cina mengirim perangkat lunak semacam ini. Programmer sendiri didefinisikan sebagai perangkat HID, tidak memerlukan driver. Sebelum pemrograman, chip harus dihapus.Perangkat lunak dapat diunduh di sini .
Jika semuanya dilakukan dengan benar, Hello World akan dituangkan satu detik di UART.Bersambung di bagian selanjutnya. Inisialisasi USB, enumerasi, dukungan WinUSB dan pertukaran host akan dipertimbangkan.Bagian kedua