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

Comunicación UART usando NRF24le1 (Parte 10/14)

UART con NRF24LE1

En este mundo moderno, todos conocemos el USB. Todos conectamos nuestros pendrives, tarjetas de memoria y otros dispositivos mediante USB. ¿Pero alguna vez has pensado qué es esto? Aquí está la respuesta; USB es un protocolo de comunicación mediante el cual dos dispositivos se comunican entre sí. Del mismo modo, el microcontrolador también se comunica con otros dispositivos como sensores o PC mediante diferentes protocolos de comunicación como USB, UART e I2C.

Hoy nos centraremos en el uso de la comunicación UART para NRF24LE1.

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

Figura 1: Descripción general de la comunicación serie con el módulo NRF24LE1

UART significa Receptor/Transmisor Asíncrono Universal. Es un tipo de comunicación serial que utiliza dos cables, uno para transmisión (Tx) y otro para recepción (Rx). Utiliza bits de inicio y parada en el paquete para indicar el principio y el final del paquete. También tenemos la opción de utilizar bits de paridad dentro de los datos para indicar un error en los datos transmitidos. Antes de utilizar UART tenemos que declarar la velocidad de transmisión y recepción conocida como velocidad en baudios. La velocidad en baudios más común es de 9600 bps (bits por segundo).

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

Fig. 2: Imagen que muestra los componentes utilizados en la comunicación serie con el módulo NRF24LE1

El módulo NRF ofrece una gama de velocidades en baudios desde 600 bps hasta 38.400 bps. El pin NRF P0.3 es Tx y el pin P0.4 es Rx.

Para obtener más funciones, puede consultar la hoja de datos. Además, puede consultar nuestros artículos anteriores sobre UART con PC y NRF24LE1 para obtener más ayuda.

Usaremos el nrfsdk (kit de desarrollo de software) proporcionado por Nordic Semiconductors Ltd. La comunicación se establecerá entre el NRF y la PC enviando "Hola" a la PC.

Las funciones que son útiles para usar UART son:

· hal_uart_init: esta función utiliza la velocidad en baudios.

· hal_uart_tx_complete – Comprueba la finalización de la transmisión.

· Hal_uart_putchar: esta función toma caracteres para su transmisión.

· hal_uart_chars_available: comprueba si se recibió o no un carácter.

· hal_uart_getchar – Devuelve el carácter recibido.

La descripción de las distintas funciones es:

FUNCIÓN PARÁMETRO DE ENTRADA SALIDA

DESCRIPCIÓN

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 la comunicación UART seleccionando la velocidad en baudios

hal_uart_putchar carácter de 8 bits Para transmitir caracteres de 8 bits
hal_uart_tx_completo 0/1

Para comprobar el estado de la transmisión

0: Transmitiendo

1:Transmitido

hal_uart_char_disponible número de 8 bits Para obtener el número de caracteres recibidos
hal_uart_getchar carácter de 8 bits Para leer el carácter de 8 bits recibido

Consulte el código comentado para conocer la implementación completa de estas funciones y obtener una comprensión clara.

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

Figura 3: Imagen que muestra el mensaje recibido en el terminal virtual del Módulo PC NRF24LE1

Código fuente del proyecto

###

 //Programa para

#include"reg24le1.h" // Archivo de encabezado de E/S para NRF24LE1

#include"hal_uart.h" // biblioteca que contiene funciones de comunicación en serie
#include"hal_delay.h" // archivo de encabezado que contiene funciones de retardo
// Putchar se repite para imprimir una cadena cadena de puta vacía (char *s) { mientras(*s != 0) hal_uart_putchar(*s++); } // función principal vacío principal { P0DIR = 0xf0; // configuramos P03 como salida y P04 como entrada; // Inicializa la UART hal_uart_init(UART_BAUD_9K6); //Habilitar interrupciones globales EA = 1; // Bucle infinito mientras(1) { //Imprime "Hola a todos" putstring("rn¡¡Hola a todos!!rn" ; retraso_ms(1000); // 1 segundo de retraso } }

###

Diagramas de circuito

Diagrama de circuito-NRF24LE1-Módulo-interfaz con PC sobre UART

Vídeo del proyecto

Volver al blog

Deja un comentario

Los comentarios deben ser aprobados antes de su publicación.