me parece que estas usando el C de CCS, aunque esa libreria del watchdog nunca la vi, y te estarian faltando los fuses talvez
si es que usas el ccs, el compilador presenta dos funciones para el manejo de la eeprom:
write_eeprom(0x0,0x12); //writes 0x12 to data eeprom location 0 (escribe el dato 12 en la posicion 0)
value=read_eeprom(0x0); //reads data eeprom location 0x0 returns 0x12 (lee la posicion 0 de la eeprom y lo guarda en value)
esas son funciones incorporadas del compilador y las usas en cualqeuir momento, cuando lo necesites
eso lo saque del manual del compilador, disponible en su pagina web (la descarga del manual es libre)
tb existe una directiva en el compilador con la que se graba cualquier dato directamente en la eeprom sin necesidad de cargarlo en el main, la directiva es:
#rom 0x2101={0x05} // significa que en la posicion 01 se guarda el dato 05
tb puedes hacer:
#rom 0x2101={0x05,0x09,0xab} // se guardan en posiciones contiguas a partir de la pos 01
o independientemente:
#rom 0x2101={0x05}
#rom 0x2109={0xf5} // en la posicion 09 se guarda el dato f5
No creo que nadie se moleste simepre y cuando hagas una pregunta clara, y no la que pusiste inicialmente, que parecia que querias que alguien te haga la tarea, bueno debes ser mas claro, pues hablando se entiende la gente, ya que hay bastante espacio para que puedas expresar bien tus ideas y no como un telegrama
espero haberte te sirva, y pues comentanos algun detalle mas... de ser necesario