Hola a todos.
Estoy utilizando el 18f452 y necesito hallar una forma de guardar algunas variables, en memoria no volátil, sólo cuando haya una caída de voltaje. Me dijeron que utilizando la instrucción #fuses BROWNOUT se podía hacer esto; sin embargo, me parece que esto es para que el dispositivo haga reset cuando existe una caída de voltaje y no genera interrupción... no se si me equivoco. Si alguien me puede ayudar se lo agradecería mucho. Saludos...
Creo que te han mezclado las cosas o bien interpretaste mal.
El Brownout se usa para que el pic se resetee por bajo voltaje o sobrevoltaje.
En el caso de guardar en memoria no volátil tienes 2 opciones, usar la EEPROM o la FLASH.
En ambos casos tienen sus pros y contras. La EEPROM es algo más veloz para escribirse y suele ser más práctica en algunos casos y además es más simple escribir en ellas.
La flash es mucho más grande y algo más compleja de escribirla además de que lleva algo más de tiempo. De todas formas, es otra opción donde guardar tus datos no volátiles pero luego debieras saber donde la guardaste. Suele ser más simple usar la EEPROM.
El Brownout se suele habilitar cuando se usa la EEPROM para que en caso de que descienda el voltaje y justo este el pic leyendo en la eeprom, se evite que una operación de lectura se convierta en una operación de escritura. De todas formas no es la única forma que hace falta, el brownout 'ayuda' pero lo más importante es que tengas muy bien filtrado la alimentación del pic.
Como ves, no es que una caida de voltaje genere una interrupción ni nada por el estilo.
Saludos y cualquier duda vuelve a preguntar que aqui no nos molestan las preguntas.
Saludos