Usando EEPROM de NRF24LE1 (Parte 5/14)

Usando EEPROM de NRF24LE1 (Parte 5/14)

EEPROM con NRF24LE1

Todos los incidentes buenos y malos se almacenan en la memoria cerebral de los humanos. De manera similar, el controlador usa EEPROM para guardar datos o variables. En este artículo veremos cómo utilizar la EEPROM NRF24LE1 y ¿cuáles son sus usos?

¿Sabes qué hace la memoria en la electrónica? Veamos un ejemplo de un condensador. Tiene la capacidad de retener voltaje y, por lo tanto, se trata como un componente de memoria. Hay dos tipos de memorias en electrónica; Volátil y no volátil. El volátil se borra si se corta la alimentación suministrada a esta memoria. Esto significa que los datos almacenados se borrarán en caso de un corte de energía. No volátil tiene la ventaja de retener datos incluso cuando no hay energía. El ejemplo más común de memoria volátil es la RAM utilizada en nuestros ordenadores. Los ejemplos de memoria volátil son el disco duro, las tarjetas SD, EEPROM, etc.

Protótipo de interface NRF24LE1 e EEPROM

Fig. 1: Prototipo de interfaz NRF24LE1 y EEPROM

En este artículo, nos centraremos en la EEPROM de nuestro módulo NRF y su uso. EEPROM significa memoria de sólo lectura programable y borrable eléctricamente. Es un tipo de no volátil. Puede programarse y borrarse proporcionando señales de programación especiales. Están disponibles en tamaños pequeños y pueden conectarse fácilmente con AVR, Arduino o PIC. A veces están integrados en microcontroladores. Pero para ampliar la memoria tenemos que utilizar la externa.

El NRF24LE1, al ser un componente increíble, tiene memoria EEPROM incorporada. Dispone de 1,5 Kb de memoria de datos no volátil. Esta memoria es útil cuando conectamos sensores y queremos conservar las lecturas para un uso futuro. Para utilizar las capacidades de lectura y escritura de esta memoria, usaremos la función en nuestro código.

Utilizaremos el nrfsdk (kit de desarrollo de software) proporcionado por Nordic Semiconductor Ltd.

Visite nuestro artículo anterior sobre NRF24LE1 para obtener más ayuda.

Algunas funciones que usaremos para leer y escribir EEPROM son:

lib_eeprom_byte_write: esta función toma la ubicación de la dirección y un byte de datos para escribir.

lib_eeprom_bytes_write: esta función toma varios bytes de datos junto con el número de bytes y la dirección inicial.

lib_eeprom_byte_read: esta función genera datos de bytes a partir de la dirección de memoria dada.

• ib_eeprom_bytes_read: esta función genera datos multibyte desde la ubicación de memoria inicial dada.
La descripción de las distintas funciones es:
FUNCIÓN PARÁMETRO DE ENTRADA SALIDA DESCRIPCIÓN
lib_eeprom_byte_write Dirección de 8 bits y datos de 8 bits. Para escribir datos de 8 bits en la dirección de bits especificada
lib_eeprom_bytes_write Dirección de 8 bits, puntero de 8 bits a los bytes que se escribirán y valor de 8 bits que indica el número de bytes que se escribirán Para escribir varios bytes en la dirección inicial especificada
lib_eeprom_byte_read dirección de 8 bits datos de 8 bits Para leer datos de 8 bits desde una dirección de 8 bits especificada
lib_eeprom_bytes_read Dirección de 8 bits, puntero de 8 bits a los bytes que se escribirán y valor de 8 bits que indica el número de bytes que se leerán. Para leer varios bytes de la dirección inicial especificada.

Para una comprensión completa, observe la implementación de estas funciones en el código. El código ha sido comentado para una mayor comprensión.

Escribiremos algunos datos en la memoria EEPROM y luego reiniciaremos nuestro sistema. A continuación leeremos los datos previamente almacenados para comprobar el funcionamiento de la EEPROM.

Código fuente del proyecto

###

 //Programa para

/* Copyright (c) 2009 Nordic Semiconductor. Todos los derechos reservados.

*
*La información contenida en este documento es propiedad confidencial de Nordic
*ASA Semiconductor. Los términos y condiciones de uso se describen detalladamente.
* en el CONTRATO DE LICENCIA DE SOFTWARE ESTÁNDAR DE NORDIC SEMICONDUCTORES.
*
* Se concede a los licenciatarios el uso gratuito e intransferible de la información. NO
* Se proporciona GARANTÍA DE CUALQUIER TIPO. Este título NO debe eliminarse del
* el archivo.
*
*$Última revisión modificada: 133$
*/
#include "reg24le1.h" // Archivo de encabezado de E/S para NRF24LE1
#include "lib_eeprom.h" // archivo de encabezado que contiene las funciones de lectura/escritura de eeprom
#include "hal_delay.h" // archivo de encabezado que contiene funciones de retardo
// Código principal
vacío principal
{
P1DIR = 0; // define el puerto1 como salida
P1 = 0; // hace que todos los pines del Puerto 1 estén bajos
P1 = lib_eeprom_byte_read(0x00); // carga datos de 8 bits desde eeprom en la dirección 0x00
retraso_ms(2000); //Retraso de 2 segundos
while(1) //bucle infinito
{
P10 = 0; //hacer puerto1 pin0 bajo
P11 = 0; //hacer puerto1 pin1 bajo
lib_eeprom_byte_write(0x00, P1); // escribe datos del registro P1 a la eeprom
retraso_ms(2000); //Retraso de 2 segundos
lib_eeprom_byte_write(0x00, P1); // escribe datos del registro P1 a la eeprom
P10 = 1; //hace que el pin0 del puerto1 sea alto
P11 = 0; //hacer puerto1 pin1 bajo
lib_eeprom_byte_write(0x00, P1); // escribe datos del registro P1 a la eeprom
retraso_ms(2000); //Retraso de 2 segundos
P10 = 0; //hacer puerto1 pin0 bajo
P11 = 1; //hace que el pin1 del puerto1 sea alto
lib_eeprom_byte_write(0x00, P1); // escribe datos del registro P1 a la eeprom
retraso_ms(2000); //Retraso de 2 segundos
P10 = 1; //hace que el pin0 del puerto1 sea alto
P11 = 1; //hace que el pin1 del puerto1 sea alto
lib_eeprom_byte_write(0x00, P1); // escribe datos del registro P1 a la eeprom
retraso_ms(2000); //Retraso de 2 segundos
}
}

###

Diagramas de circuito

Diagrama de circuito-NRF24LE1-Interfaz EEPROM

Vídeo del proyecto

Conteúdo Relacionado

En cada vehículo hay una red de sensores integrada...
El controlador del motor es uno de los componentes...
ESP32-CAM es un módulo de cámara compacto que combina...
La evolución de los estándares USB ha sido fundamental...
SCHURTER anuncia una mejora de su popular serie SWZ...
Visual Communications Company (VCC) ha anunciado sus nuevos tubos...
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...
Probablemente se haya encontrado con el término " resistencia...
Probablemente tenga un aislante de soporte si ha notado...
Probablemente haya visto un aislante colocado en postes de...
Probablemente hayas visto aisladores de grillete entronizados en postes...
Probablemente hayas experimentado situaciones en las que controlar un...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.