#define CONFIG_ADDR 0x2007
/*watchdog*/
#define WDTEN 0x3FFF // enable watchdog timer
#define WDTDIS 0x3FFB // disable watchdog timer
/*power up timer*/
#define PWRTEN 0x3FF7 // enable power up timer
#define PWRTDIS 0x3FFF // disable power up timer
/* MCLR pin function */
#define MCLREN 0x3FFF // master clear reset enable
#define MCLRDIS 0x3FDF // master clear reset disable
//alternately
#define MCLRIO 0x3FDF // use MCLRDIS
/*brown out reset*/
#define BOREN 0x3FFF // enable brown out reset
#define BORDIS 0x3FBF // disable brown out reset
/*low voltage programming*/
#define LVPEN 0x3FFF // low voltage programming enable
#define LVPDIS 0x3F7F // low voltage programming disabled
/*data code protection*/
#define DP 0x3EFF // protect the data code
// alternative definitions
#define DATPROT 0x3EFF // use DP
#define DATUNPROT 0x3FFF // use UNPROTECT
/*code protection*/
#define UNPROTECT 0x3FFF // do not protect the code
#define PROTECT 0x03FF // protect the program code
/* Code protection for 2K program memory */
#ifdef _16F628
#define PROTECT75 0x17FF /* Protects from 0200h-07ffh */
#define PROTECT50 0x2BFF /* Protects from 0400h-07ffh */
#else /* Code protection for 1K program memory */
#define PROTECT50 0x17FF /* Protects from 0200h-03ffh */
#endif
/*osc configurations*/
#define ER 0x3FFF /* external resistor, CLKOUT on CLKOUT pin, R on CLKIN */
#define ERIO 0x3FFE /* external resistor, IO fn on CLKOUT pin, R on CLKIN */
#define INT 0x3FFD /* internal resistor/capacitor, CLKOUT on CLKOUT pin, IO on CLKIN */
#define INTIO 0x3FFC /* internal resistor/capacitor, IO fn on CLKOUT pin, IO on CLKIN */
#define EC 0x3FEF /* external clock in, IO fn on CLKOUT pin, CLKIN on CLKIN */
#define HS 0x3FEE /* high speed crystal */
#define XT 0x3FED /* crystal/resonator */
#define LP 0x3FEC /* low power crystal */
que bits de configuración (fuses) activa o desactiva esto? Además supongo que no ha de ser igual que para otros pics, asi que he buscado en los manuales (derepente se me paso) y pues no he logrado encontrarlos. Uso el MPLAB y se peude configurar desde ahi también pero me gustaría tenerlos en el mismo programa.Sí, depende de cada pic aunque entre familias (16F, 18F) se respetan bastante.
Entonces si
__CONFIG(0x3F71);
entonces "alucino" que para poner cada palabra seria asi:
__CONFIG(WDTDIS & XT); //osiclador de cristal y watchdog desahbilitado. Lo compile y salio OK y también se modificó en el mismo MPLAB configuration bits.
...
La primer forma (escribir el valor en hexa de los configuration bits) es bastante poco amigable y hasta poco aconsejable.
...