PIC16: ¿Cómo modifico las palabras de configuración?

4

Según tengo entendido, las palabras de configuración son diferentes a los registros estándar de 8 bits. Tienen un ancho de 14 bits y solo se puede acceder a ellos en "modo de programación".

Al leer la hoja de datos no entiendo cómo ingresar al modo de programación y luego modificar palabra de configuracion ¿Puedo modificar la palabra de programación de mi código C (por ejemplo, dentro de la función main ), o debo indicar a mi programador (PICKIT 3) que haga algo de magia antes de que se alcance la función main ?

    
pregunta Randomblue

3 respuestas

4
  

¿No entiendo bien cómo debo entrar en el modo de programación y luego modificar la palabra de configuración? ¿Puedo modificar la palabra de programación en mi código C (por ejemplo, dentro de la función principal)?

Las palabras de configuración se asignan en la memoria del programa / instrucción. Se asignan en una ubicación de dirección a la que no se puede acceder durante el funcionamiento normal del dispositivo (solo se puede acceder a él durante el modo de programación). Estos bits de configuración especifican algunos de los modos del dispositivo, y son programados por un programador del dispositivo, o mediante el uso de la función de Programación en Serie en Circuito (ICSP) de los dispositivos de rango medio. Por lo tanto, debe configurar estos bits de configuración en su código, pero fuera de cualquier función, utilizando un #pragma o macro específico del compilador.

De la Guía del usuario de XC8:

  

Los bits de configuración para dispositivos de línea de base y de rango medio se pueden configurar con   __CONFIG macro que fue soportada en HI-TECH C, por ejemplo:

#include <xc.h>
__CONFIG(WDTDIS & HS & UNPROTECT);
     

Para usar esta macro, asegúrate de incluirla en tu archivo fuente. por   Dispositivos que tienen más de una palabra de configuración, cada uno subsiguiente   la invocación de __CONFIG () modificará la siguiente palabra de configuración en   secuencia. Por lo general, esto puede parecer:

#include <xc.h>
__CONFIG(WDTDIS & XT & UNPROTECT); // Program config. word 1
__CONFIG(FCMEN);

La forma más fácil de configurar los bits de configuración de su dispositivo es a través de MPLAB X. Instrucciones tomadas desde aquí :

  1. En el menú principal, seleccione Ventana ▶ Vistas de memoria PIC ▶ Bits de configuración
  2. En la ventana de bits de configuración, haga clic en cualquier valor en la columna Opción y se convertirá en un cuadro combinado que le permitirá seleccionar el valor que desee.
  3. Haga clic en el botón Generar código fuente para generar
  4. El IDE generará automáticamente el código necesario para inicializar todos los bits de configuración a la configuración que especificó en la ventana. Este código ahora se puede copiar y pegar en uno de sus archivos de origen, o puede guardarlo en su propio archivo y agregarlo a su proyecto. Para guardar el archivo, haga clic derecho en cualquier lugar de la ventana de resultados y seleccione Guardar como en el menú emergente.

Lectura adicional:

respondido por el m.Alin
4

El programador debe hacerlo (técnicamente esto es lo que es el PICKIT 3, no un cargador de arranque).

Puede configurar las palabras de configuración desde MPLAB, o insertando declaraciones "#pragma config" en su código C. Esto es preferible, ya que termina registrado en el control de origen y no se pierde.

enlace

Usted no puede modificar las palabras de configuración desde un programa PIC.

    
respondido por el pjc50
1

Una pregunta similar a una que te hice no mucho antes que tú. Ese hilo también puede proporcionar información relevante para usted:

¿Cómo establece los bits de configuración para un PIC 16F1829 en MPLAB X?

    
respondido por el TDL

Lea otras preguntas en las etiquetas