Este es un extracto de la hoja de datos de de la familia de PIC32MZ EC con respecto a la salida de selección de pin periférico mapeo:
Estoy usando el PIC32MZ2048ECG064. Mi pregunta se refiere a RPB10. Me gustaría usar RB10 como puerto IO de propósito general y controlarlo con TRISB10, LATB10 y PORTB10. Sin embargo, en ninguna parte de la lista correcta veo la posibilidad de hacer esto. Todas las opciones son 'reservadas', 'sin conexión' o, en realidad, un periférico. Al principio pensé que 0x0
, el valor predeterminado, me permitiría usar el pin normalmente, pero la sección 12.3.5 dice:
Una salida nula está asociada con el valor de restablecimiento del registro de salida de '
0
'. Esto se hace para garantizar que las salidas extraíbles permanezcan desconectadas de todos los pines de salida de forma predeterminada.
Entonces, si entiendo correctamente, el valor predeterminado es que el pin no se puede utilizar. Sin embargo, el bit LATB10 existe, por lo que debe haber una forma de usarlo.
¿Cómo uso un pin extraíble como un GPIO 'normal'?
Aquí están mis bits de configuración:
#pragma config DEBUG = OFF
#pragma config JTAGEN = OFF
#pragma config ICESEL = ICS_PGx1
#pragma config TRCEN = ON
#pragma config BOOTISA = MIPS32
#pragma config FECCCON = OFF_UNLOCKED
#pragma config FSLEEP = OFF
#pragma config DBGPER = PG_ALL
#pragma config EJTAGBEN = NORMAL
#pragma config CP = OFF
/*** DEVCFG1 ***/
#pragma config FNOSC = SPLL
#pragma config DMTINTV = WIN_127_128
#pragma config FSOSCEN = ON
#pragma config IESO = ON
#pragma config POSCMOD = OFF
#pragma config OSCIOFNC = OFF
#pragma config FCKSM = CSECME
#pragma config WDTPS = PS1048576
#pragma config WDTSPGM = STOP
#pragma config FWDTEN = ON
#pragma config WINDIS = NORMAL
#pragma config FWDTWINSZ = WINSZ_25
#pragma config DMTCNT = DMT31
#pragma config FDMTEN = ON
/*** DEVCFG2 ***/
#pragma config FPLLIDIV = DIV_8
#pragma config FPLLRNG = RANGE_5_10_MHZ
#pragma config FPLLICLK = PLL_FRC
#pragma config FPLLMULT = MUL_44
#pragma config FPLLODIV = DIV_32
#pragma config UPLLFSEL = FREQ_24MHZ
#pragma config UPLLEN = ON
/*** DEVCFG3 ***/
#pragma config USERID = 0xffff
#pragma config FMIIEN = ON
#pragma config FETHIO = ON
#pragma config PGL1WAY = ON
#pragma config PMDL1WAY = ON
#pragma config IOL1WAY = ON
#pragma config FUSBIDIO = ON
/*** BF1SEQ0 ***/
#pragma config TSEQ = 0xffff
#pragma config CSEQ = 0xffff