Este artigo descreve a operação da pilha USB do módulo nRF24LU1 +. Na primeira parte, uma pequena introdução, instalação de software e SDK, Hello World.Na segunda parte, consideraremos a inicialização, enumeração, suporte ao WinUSB e troca de dados com o host. Supõe-se que o leitor tenha uma compreensão inicial do USB. Caso contrário, aconselho que você se familiarize com o excelente manual .
Eu pedi minhas fichas no ebay . Foram incluídos 2 módulos e um programador SPI. Mosca direta na pomada para quem encomendar o mesmo conjunto. Não há linha de redefinição no conector de programação no próprio módulo. Sem ele, a programação do ISP não funciona. Eu tive que soldar cuidadosamente.
Em princípio, os chips podem ser programados através do gerenciador de inicialização embutido (e até escrever o seu próprio). Há também um monte de flashes SPI baseados em ftdi , arduino e muito mais. O processo de programação é semelhante ao chip nrf24le1.O chip nRF24LU1 + é:- Transceptor nRF24l01 + de 2,4 GHz
- controlador USB 2.0 de velocidade total
- Microcontrolador de 8 bits com núcleo Intel MCS 51
- Flash de 16 ou 32 kb
O dispositivo interno do chip:
Dentre os recursos, vale ressaltar que a RAM rápida é de apenas 256 bytes (IRAM). Os 2 kb restantes (SRAM) estão localizados no barramento externo, respectivamente, o acesso a eles é mais lento. Há também um módulo de criptografia.Configure o Keil, o nRFgo SDK e o Hello World
Todo o desenvolvimento será conduzido no ambiente do Keil e do nRFgo SDK. Baixe, instale ( tyts , tyts ).Algumas palavras sobre a organização do projeto. Eu criei essa estrutura. Compilador, HAL e LIB copiados do nRFgo SDK. Os projetos já estarão diretamente na pasta Projetos.├───compiler
│ ├───c51
│ ├───common
│ └───icc8051
├───hal
│ ├───nrf24l01p
│ ├───nrf24le1
│ └───nrf24lu1p
├───lib
│ ├───adns7530
│ ├───assertions
│ ├───crypt
│ ├───display
│ ├───eeprom
│ ├───eeprom255
│ └───rf_test
└───projects
└───HelloWolrd
Nós vamos em Keil. Projeto - Novo uVision Prject. Nós selecionamos o catálogo com o projeto, digite o nome do projeto. Em seguida, selecione o chip como na imagem, concorde com tudo.
Em seguida, adicione a nova fonte ao projeto (clique com o botão direito do mouse em Source Group 1 - Add New Iteam.)Primeiro programa, imprima sem parar no 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);
}
}
Além disso, você precisa adicionar dois arquivos ao projeto:hal\nrf24lu1p\hal_uart.c
hal\hal_delay.c
O leitor provavelmente já entendeu que estamos conectando o código-fonte exatamente ao nosso chip.Parareunir tudo corretamente, você precisa colocar alguns ticks e registrar o caminho de inclusão para o compilador.Cunha direita para o projeto - Opções.
Na alvenaria de saída, marque a caixa de seleção Criar arquivo HEX.Em seguida, na guia C51, escreva Incluir..\..\hal;..\..\hal\nrf24lu1p;..\..\compiler\c51;..\..\compiler\common;
Montando um projeto. O arquivo hexadecimal resultante é preenchido com o programador no controlador. No meu caso, os chineses enviaram esse tipo de software. O programador em si é definido como um dispositivo HID, não requer drivers. Antes da programação, o chip deve ser apagado.O software pode ser baixado aqui .
Se tudo foi feito corretamente, o Hello World será derramado uma vez por segundo no UART.Continua na próxima parte. Inicialização, enumeração, suporte a WinUSB e troca de host USB serão considerados.A segunda parte de