Comunicação UART usando NRF24le1 (Parte 10/14)

Comunicação UART usando NRF24le1 (Parte 10/14)

UART com NRF24LE1

Neste mundo moderno, todos conhecemos o USB. Todos nós conectamos nossos pen drives, cartões de memória e outros dispositivos usando USB. Mas você já pensou o que é isso? Aqui está a resposta; USB é um protocolo de comunicação pelo qual dois dispositivos se comunicam entre si. Da mesma forma, o microcontrolador também se comunica com outros dispositivos como sensores ou PC usando diferentes protocolos de comunicação como USB, UART e I2C.

Hoje nosso foco será no uso da comunicação UART para NRF24LE1.

Visão geral da comunicação serial com módulo NRF24LE1

Figura 1: Visão geral da comunicação serial com módulo NRF24LE1

UART significa Receptor/Transmissor Assíncrono Universal. É um tipo de comunicação serial que utiliza dois fios, um para transmissão (Tx) e outro para recepção (Rx). Ele utiliza bits de início e parada no pacote para indicar o início e o fim do pacote. Também temos a opção de usar bit de paridade dentro dos dados para indicar erro nos dados transmitidos. Antes de usar o UART temos que declarar a velocidade de transmissão e recepção conhecida como taxa de transmissão. A taxa de transmissão mais comum é 9600 bps (bits por segundo).

Imagem mostrando componentes usados ​​na comunicação serial com módulo NRF24LE1

Fig. 2: Imagem mostrando componentes utilizados na comunicação serial com Módulo NRF24LE1

O módulo NRF oferece uma variedade de taxas de transmissão de 600 bps a 38.400 bps. O pino NRF P0.3 é Tx e o pino P0.4 é Rx.

Para mais recursos, você pode consultar a folha de dados. Além disso, você pode consultar nossos artigos anteriores sobre UART com PC e NRF24LE1 para obter mais ajuda.

Estaremos usando o nrfsdk (kit de desenvolvimento de software) fornecido pela Nordic Semiconductors Ltd. A comunicação será estabelecida entre a NRF e o PC enviando “Hello” para o PC.

As funções que são úteis para usar o UART são:

· hal_uart_init – Esta função usa a taxa de transmissão.

· hal_uart_tx_complete – Verifica a conclusão da transmissão.

· Hal_uart_putchar – Esta função leva caracteres para transmissão.

· hal_uart_chars_available – Verifica se um caracter foi recebido ou não.

· hal_uart_getchar – Retorna o caracter recebido.

A descrição das várias funções é:

FUNÇÃO PARÂMETRO DE ENTRADA SAÍDA

DESCRIÇÃO

hal_uart_init

UART_BAUD_600

UART_BAUD_1K2

UART_BAUD_2K4

UART_BAUD_4K8

UART_BAUD_9K6

UART_BAUD_19K2

UART_BAUD_38K4

UART_BAUD_57K6

UART_BAUD_115K2

Para inicializar a comunicação UART selecionando a taxa de transmissão

hal_uart_putchar Caractere de 8 bits Para transmitir caracteres de 8 bits
hal_uart_tx_complete 0/1

Para verificar o status da transmissão

0: Transmitindo

1:Transmitido

hal_uart_char_disponível Número de 8 bits Para obter o número de caracteres recebidos
hal_uart_getchar Caractere de 8 bits Para ler o caractere de 8 bits recebido

Por favor, verifique o código comentado para a implementação completa dessas funções para obter um entendimento claro.

Imagem mostrando mensagem recebida no terminal virtual do PC do módulo NRF24LE1

Figura 3: Imagem mostrando mensagem recebida no terminal virtual do PC do Módulo NRF24LE1

Código-fonte do projeto

###

//Program to 

#include"reg24le1.h" // Arquivo de cabeçalho de E/S para NRF24LE1

#include"hal_uart.h" // biblioteca contendo funções de comunicação serial
#include"hal_delay.h" // arquivo de cabeçalho contendo funções de atraso
// Putchar repetido para imprimir uma string void putstring(char *s) { enquanto(*s != 0) hal_uart_putchar(*s++); } // função principal vazio principal { P0DIR = 0xf0; // configura P03 como saída e P04 como entrada; // Inicializa o UART hal_uart_init(UART_BAUD_9K6); //Habilita interrupções globais EA = 1; //Loop infinito enquanto(1) { //Imprime "Olá a todos" putstring("rnOlá a todos!!rn") ; atraso_ms(1000); //atraso de 1seg } }

###

Diagramas de circuito

Diagrama de circuito-NRF24LE1-Módulo-interface com PC sobre UART

Vídeo do projeto

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Retour au blog

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.