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.

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).

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.

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
###
Diagramas de circuito
| Diagrama de circuito-NRF24LE1-Módulo-interfaz con PC sobre UART | ![]() |
