MPLAB X y C18: Bits de configuración (FUSES)

Continuando con la programación en C18 toca el turno de los Bits de configuración. Un paso muy importante al momento de realizar un código es configurar adecuadamente los FUSES del PIC que se está utilizando para ello es necesario tener del Datasheet del micro (Capitulo SPECIAL FEATURES OF THE CPU), pero Microchip nos proporciona el archivo “hlpPIC18ConfigSet” en donde podemos consultarlos todos y este se encuentra en la carpeta llamada “doc” donde se ha instalado el C18.
Ahora bien basta con abrir el archivo y seleccionar el PIC a utilizar y tendrán la lista de todos los FUSES que se deben de configurar. Utilizare el PIC18F4620 como ejemplo lo bueno de esto es que con una vez que lo configures te servirá para tus demás proyectos, pero para una mayor estética en nuestro firmware nosotros crearemos un archivo llamado “Config_FusesPIC.h” en donde estarán todos y cuando se necesite solo agregaremos el archivo al proyecto y listo.

Es momento de explicar (No domino del todo el tema pero algo será de ayuda):
  • OSC: Selección del oscilador (interno, externo, etc.)
  • FCMEN: Permite un cambio del oscilador (El externo por el interno en caso de fallar el externo).
  • IESO: Permite minimizar el periodo de latencia del oscilador al inicio del programa (Two-Speed Start-Up), También permite al microcontrolador usar el oscilador INTOSC como fuente de reloj hasta que la fuente de reloj principal esté disponible si es que se está usando en modo XT, LP, HS o HSPLL.
  • PWRT: Permite habilitar el Power-UpTimer
  • BOREN: Habilita y configura el modo del Brown-OutReset. Provoca que el micro entre en modo Reset si el voltaje de alimentación baja a un cierto nivel.
  • BORV: Selección los niveles del BOR, nivel al cual BOREN responderá.
  • WDT: Habilita el WatchDogTimer, para evitar que el micro se quede atorado en un lugar no previsto por el diseñador.
  • WDTPS: Selecciona el Postscaler del WDT
  • CCP2MX: CCP2 multiplexado con RB3 o RC1.
  • PBADEN: Configura los pines del PORTB como análogos o digitales después del Reset.
  • LPT1OSC: Configura el modo de consumo del Timer1.
  • MCLRE: Habilita el pin MCLR y deshabilita el pin RE3 o deshabilita el MCLR y habilita el pin RE3 como entrada.
  • STVREN: Habilita el Reset por desbordamiento de pila.
  • LVP: Habilita la programación en bajo voltaje (Low Voltaje Programming).
  • XINST: Habilita el modo de instrucciones extendidas.
  • DEBUG: Habilita o deshabilita el Debugger ubicado en los pines RB6 y RB7, pueden ser dedicados al Debugger o a pines digitales.
  • CP0: Habilita protección del bloque 0 de la memoria de programa.
  • CP1: Habilita protección del bloque 1 de la memoria de programa.
  • CP2: Habilita protección del bloque 2 de la memoria de programa.
  • CP3: Habilita protección del bloque 3 de la memoria de programa.
  • CPB: Habilita protección del bloque BOOT.
  • CPD: Habilita protección de la memoria EEPROM.
  • WRT0: Habilita protección de escritura de la memoria de programa en bloque 0.
  • WRT1: Habilita protección de escritura de la memoria de programa en bloque 1.
  • WRT2: Habilita protección de escritura de la memoria de programa en bloque 2.
  • WRT3: Habilita protección de escritura de la memoria de programa en bloque 3.
  • WRTB: Habilita protección de escritura del BOOT.
  • WRTC: Habilita protección de escritura de los registros de configuración.
  • WRTD: Habilita protección de escritura de la memoria EEPROM
  • EBTR0: Habilita protección de lectura de tablas de la memoria de programa en el bloque 0.
  • EBTR1: Habilita protección de lectura de tablas de la memoria de programa en el bloque 1.
  • EBTR2: Habilita protección de lectura de tablas de la memoria de programa en el bloque 2.
  • EBTR3: Habilita protección de lectura de tablas de la memoria de programa en el bloque 3.
  • EBTRB: Habilita protección de lectura de tablas de la memoria de programa en el BOOT.
Tal vez no esté explicado al 100% pues sugiero revisar la hoja de datos o investigar más del tema en otros sitios para tener un mayor entendimiento.

Para declarar estos FUSES en C18 se hace de la siguiente manera:

#pragma config OSC = INTIO67

Es hora de hacer nuestro archivo con toda la configuración del PIC para ello necesitamos crear un nuevo proyecto Click en la carpeta Header File >> New >> C Header File…
En la ventana que aparezca en File Name colocaremos Config_FusesPIC y en Extensión debe de estar h después Finish.
Ya tenemos el archivo ahora solo falta apuntar todos los FUSES del PIC y tendremos todo listo para empezar con nuestro proyecto. Dejo la configuración que he utilizado para el PIC18F4620.

MPLAB X y C18: Bits de configuración (FUSES) MPLAB X y C18: Bits de configuración (FUSES) Reviewed by Pedro Sánchez Ramírez on 9/20/2014 Rating: 5

No hay comentarios:

Con la tecnología de Blogger.