PIC24F: registro RPINR0

0

Soy nuevo en PIC. Estoy trabajando en PIC24FJ64GA002 PIC. ¿Puede alguien por favor explicar cómo el código de abajo dice "configurar RP10 a interrupción externa"?

                   'RPINR0  =   0x0A00;'

He pasado por "PERIPHERAL PIN SELECT REGISTER MAP" de la hoja de datos, el registro RPINR0 no mencionó RP10. RPOR5 solo ha mencionado RP10.

Gracias.

    
pregunta user6161

1 respuesta

2

De la PIC24FJ64GA004 Family Reference Manual

  

10.4.3.1 Mapeo de entrada   Las entradas de las opciones de Selección de Pin Periférico son   mapeado sobre la base del periférico; es decir, un control   registro asociado con un periférico dicta el pin que   se asignará a. Los registros RPINRx se utilizan para   configurar mapeo de entrada periférica (ver   Registro 10-1   mediante   Registro 10-14   ). Cada registro contiene dos   conjuntos de campos de 5 bits, con cada conjunto asociado con uno de   Los periféricos seleccionables por pin. Programando un determinado   campo de bits del periférico con un valor apropiado de 5 bits   asigna el pin RPn con ese valor a ese periférico. por   cualquier dispositivo dado, el rango válido de valores para cualquiera de   los campos de bits corresponden al número máximo de   Selecciones de pines periféricos soportados por el dispositivo.

RPINR0 es el registro de control de entrada para Interrupción externa 1 (INT 1). PRINR0 es un registro de 16 bits, con los bits 8 a 12 implementados realmente. Esos 5 bits controlan qué pin puede controlar la Interrupción Externa 1.

Aquí está la definición de registro del manual de referencia de la familia.

El número de pin deseado se escribe en el registro. Por ejemplo, si quisiera asignar RP1 a Interrupción externa 1 (INT1), haría esto:

RPINR0 = 0x0100 .

Esto asignará el valor decimal de 1 al byte superior del RPINR0 del registro de la función especial, que asignará el pin RP1 al módulo de Interrupción Externa 1 (INT1).

Suponiendo que la INT1 está configurada correctamente en su caso, cuando algún dispositivo externo mueve RP10 , el hardware activará la interrupción INT1 , momento en el cual el firmware puede decidir qué hacer con ella a través de una rutina de servicio de interrupción.

    
respondido por el CurtisHx

Lea otras preguntas en las etiquetas