PIC18F44K22: No se puede usar el pin MCLR / RE3 como entrada. MCU se reinicia cuando se mantiene presionado RE3

2

Estoy tratando de usar el PORTE de 4 bits de ancho en una MCU PIC18F44K22. Este puerto contiene el pin RE3 / MCLR que se puede configurar como un pin de reinicio o como un pin de entrada al configurar / borrar el bit MCLRE en CONFIG3H.

No importa qué valor se establezca en el bit MCLRE, si el pin RE3 / MCLR se mantiene BAJO, la MCU se niega a ejecutar cualquier instrucción. Al establecer el pin RB3 / MCLR y el MCU funciona como se esperaba (con un pin menos de onput).

Esto se ha probado utilizando un programador pickit 2 y un multímetro, alimentando la MCU con el programador en sí. los pines de alimentación en la MCU se desacoplan usando condensadores de 1pF y un capacitor adicional de 22uF en la entrada de alimentación de la placa.

BOR está deshabilitado y el programa cargado es tan simple como es posible (establezca RB3 UP). Probado usando tanto 5V como 3.2V

He leído de ESD que desencadenan restablecimientos ocasionalmente, pero en este caso es un valor bajo que mantiene el dispositivo en reinicio .

Solución:
Para que MCLRE tenga algún efecto, el bit LVP debe estar deshabilitado. En gpasm:

    CONFIG MCLRE  = INTMCLR
    CONFIG LVP    = OFF
    
pregunta NeonMan

2 respuestas

6

Si no ha deshabilitado la "Programación ICSP de un solo suministro" en sus bits de configuración (CONFIG4L.LVP), esto explicaría el comportamiento que está viendo.

La sección 24.9 de la hoja de datos dice "En el modo ICSP de bajo voltaje, MCLR siempre está habilitado, independientemente del bit MCLRE, y el pin RE3 ya no se puede usar como entrada de propósito general".

    
respondido por el brhans
1

Esto huele a que la configuración de los bits de configuración no se está introduciendo en el chip. Algunas posibles razones para esto:

  1. Usted tiene configurado MPLAB para que los bits de configuración provengan de la GUI en lugar de su código.

  2. Es posible que el programador no esté configurado para sobrescribir los bits de configuración. Verifique el "rango de programación" (o algo así) en la configuración.

  3. Es necesario volver a importar el código. Me he dado cuenta de que, después de cambiar los bits de configuración en el código fuente, reconstruir, ejecutar MPLAB nuevamente y luego programar el chip, los nuevos ajustes de configuración no se incorporan al chip. No sé si esto es un error o una característica, pero la solución es ARCHIVO > IMPORTAR el archivo HEX o COFF nuevamente, luego volver a programar.

Use la GUI de los bits de configuración en MPLAB para ver cómo cree que están configurados los bits de configuración. O incluso mejor, programe la pieza y luego inspeccione los bits de configuración reales en el chip con el depurador para ver cómo se configuran realmente.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas