Cortes con NRF24LE1 (Parte 3/14)

Interrumpe con NRF24LE1

En nuestra vida diaria, a menudo otras personas nos distraen o interrumpen. En esta condición suspendemos nuestro trabajo en curso y prestamos atención a lo que otros tienen que decir. Sólo reanudamos nuestro trabajo previamente suspendido después de que se haya completado la tarea interrumpida. El maestro que controla el procesamiento de los pensamientos en nosotros es nuestro cerebro. El cerebro deja de procesar los pensamientos en curso cuando somos interrumpidos y comienza a procesar la otra tarea. Reanuda el procesamiento anterior en curso cuando se completa la tarea. El controlador funciona de manera similar. Aquí estudiaremos las interrupciones asociadas a nuestra NRF.

Interrupção Final

Fig. 1: Prototipo de demostración de interrupción NRF24LE1

Todos conocemos la tarea de las interrupciones en cualquier controlador. Le dice al microcontrolador que suspenda la ejecución del código actual, guarde el estado actual y procese la solicitud de interrupción. El controlador procesa la solicitud de interrupción saltando a la Rutina de Servicio de Interrupción (ISR) o al Controlador de Interrupciones. ISR es una función o procedimiento definido en el código que se ejecuta cuando ocurre una interrupción. Lo mismo ocurre con la NRF.

En el NRF24LE1, hay un total de 18 fuentes de interrupción, de las cuales 4 están basadas en hardware y el resto en software. Cada fuente de interrupción tiene una dirección vectorial en la que se debe escribir el ISR. Estas interrupciones pueden activarse por nivel (bajo/alto) o por flanco (subida/bajada).
La imagen adjunta consta de diferentes fuentes, dirección del vector, polaridad y su descripción.
En el paquete de 32 pines, hay 2 interrupciones de hardware externas: INT0 e INT1. El pin de interrupción para INT0 es P0.5 y para INT1 es P0.6.
Imagem da demonstração de interrupção NRF24LE1
Figura 2: Imagen de demostración de interrupción NRF24LE1
Las interrupciones se pueden controlar a través de varios registros que se detallan a continuación:
• Registro de habilitación de interrupción 0 (IEN0): un registro de 8 bits utilizado para habilitar/deshabilitar interrupciones globales e interrupciones individuales para el temporizador 0, el temporizador 1, el temporizador 2, el puerto 0 y el puerto serie.
• Registro de habilitación de interrupción 1 (IEN1): un registro de 8 bits utilizado para habilitar/deshabilitar las interrupciones de RF, SPI y Timer2.
• INTEXP – Este registro habilita/deshabilita interrupciones SPI de 2 cables, maestro y esclavo. Este registro también se utiliza para elegir entre INT0, INT1 e INT2.
• IP0 e IP1 (Prioridad de interrupción): dos registros de 8 bits utilizados para establecer niveles de prioridad entre diferentes fuentes.
• Registro de control de solicitud de interrupción (IRCON): un registro de 8 bits que contiene indicadores de solicitud de interrupción.
Para las interrupciones de software, debemos habilitarlas de acuerdo con las funciones que estemos utilizando. Por ejemplo, si usamos temporizadores, habilitaremos la interrupción del temporizador que está asociada con los temporizadores internos de nuestro módulo.
Imagem da demonstração de interrupção NRF24LE1
Figura 2: Imagen de demostración de interrupción NRF24LE1
Actualmente estamos centrados en analizar las interrupciones de hardware INT0. Algunos pasos sencillos mediante los cuales podemos configurar INT0 son:
• Primero escriba 1 en el bit7 de IEN0 para habilitar interrupciones globales y 1 en el bit0.
• Escriba 1 en el bit3 de INTEXP para seleccionar INT0.
• Tenemos que escribir ISR en INT0
También escribimos código para explicar cómo funciona la interrupción INT0. Además, se ha escrito un programa de parpadeo de LED en nuestra rutina de servicio de interrupción. Por lo tanto, el LED parpadeará cada vez que se produzca una interrupción. Consulte el código comentado para obtener más detalles. Estén atentos para más artículos de la serie.

Código fuente del proyecto

###

 //Programa para

#include"reg24le1.h" // Archivo de encabezado de E/S para NRF24LE1
#incluir // archivo de encabezado que contiene funciones de E/S estándar #include"hal_delay.h" // archivo de encabezado que contiene funciones de retardo #include"isrdef24le1.h" //archivo de encabezado que contiene la definición de rutina de servicio de interrupción para NRF24LE1 // Código principal vacío principal { P0DIR = 0xf0; //toma los 4 bits superiores de Port0 como entrada P1DIR = 0; // define el puerto1 como salida P1=0x00; // hace que todos los pines del Puerto 1 estén bajos IEN0 = 0x81; // habilitar interrupción de pin INTEXP = 0x08; // habilitar INT0 mientras(1); //bucle infinito, espera la interrupción } // Interrumpir la rutina del servicio EXT_INT0_ISR { P1 = 0xff; //hace que todos los pines del Puerto 1 estén altos retraso_ms(1000); // 1 segundo de retraso P1=0x00; //hace que todos los pines del Puerto 1 estén bajos retraso_ms(1000); // 1 segundo de retraso }

###

Diagramas de circuito

Diagrama de circuito-NRF24LE1-Demostración de interrupción

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.