TODOPIC
Microcontroladores PIC => Programadores => Mensaje iniciado por: Silicon en 05 de Mayo de 2006, 16:01:20
-
Hola Sispic.
Creo que tu has programado el WINPIC800, un software estupendo y muy rapido.
Queria hacerte unas sugencias que creo que ahorrarian tiempo y quebraderos de cabeza.
La primera sugerencia es que el WINPIC800 añada la opcion BANDGAP = DEFAULT
En este caso el programa leeria el que hay actualmente en el chip y al programarlo lo respete.
La segunda sugerencia es que el WINPIC800 añada la opcion OSCCAL = DEFAULT.
En este caso el programa leeria el valor que hay actualmente en el chip y al programarlo lo respetaria.
Estas opciones deberian estar en la pestaña de CONFIG, y losgicamente solo en los modelos en los que estos valores existan.
Se que estas opciones no son necesarias y lo ideal es leerlas y apuntarlas en el chip. Pero nadie esta libre de errores y un valor mal programado, por descuido, puede fastidiarnos el chip o volvernos locos por no funcionar el programa.
Gracias por tu programa, MAESTRO !!!!
-
Eso es lo que hace .
Detectado -> 12F629
Leyendo OSCCAL
Leyendo Bandgap
Dispositivo borrado .: Ok
[ Verificando al programar ]
Programando Código ..: 1024 word
Programando ID ......: 4 word
Programando Datos ...: 128 byte
Programando Config...: 1 word
Lee y guarda el valor del OSCCAL y Bandgap
El valor del OSCCAL de tu hex , deve encontrarse en la ultima direccion de la flash , si tu lo tienes en blanco "0x3FFF" asumira que no quieres cambiarlo y reprogramara el valor orginal leido antes de borrar . (DEFAULT)
Y si en tu hex existe un valor y que no coincide con el original , te avisará y te indicara las obciones a elejir.
Algo parecido sucede con Bandgap .
Lo ideal es leer , anotar y poner esos valores a tu programa y ó modificarlos al gusto.
El soft es seguro , borrar esos valores por accidente es por que habras dicho que SI .
-
El valor del OSCCAL de tu hex , deve encontrarse en la ultima direccion de la flash , si tu lo tienes en blanco "0x3FFF" asumira que no quieres cambiarlo y reprogramara el valor orginal leido antes de borrar . (DEFAULT)
Y si en tu hex existe un valor y que no coincide con el original , te avisará y te indicara las obciones a elejir.
Algo parecido sucede con Bandgap .
Lo de OSCCAL me ha quedado bastante claro. Si pido programar, primero me lee lo que tiene y despues, si no pongo nada en el fichero, me lo vuelve a programar.
Si le pido borrar dispositivo. ¿Lee el OSCCAL, borra el dispositivo y vuelve a programarle el OSCCAL?
Yo en el BANDGAP solo veo cuatro opciones de configuracion.
00, 01, 10 y 11
¿cual deberia escoger para que deje la que ya tiene el CHIP?
¿y cual deberia escoger para dejarlo en uno de estos valores?
Perdon por mi torpeza.
-
Si le pido borrar dispositivo. ¿Lee el OSCCAL, borra el dispositivo y vuelve a programarle el OSCCAL?
Si , ademas lo indica en le ventana
Leyendo OSCCAL
Leyendo Bandgap
Restaurando OSCCAL
Restaurando Bandgap
Dispositivo borrado .: Ok
Para dejar el valor BANDGAP del chip , primero tienes que leerlo y anotar los dos bits mas significativos de la direccion 0x2007.
Ejemplo : tu chip de fabrica esta programado en "MId Low"
veras el valor en la dirección 0x2007 : 0x1???
Seguramente algunos compiladores ya te dejaran indicarle este valor , de lo contrario lo pones manualmente .
-
Pero nadie esta libre de errores y un valor mal programado, por descuido, puede fastidiarnos el chip o...
Si pierdes el Valor OSSCAL puedes poner un MOVLW XX instrucción. XX es algun valor .
En la ultima Direción de memoria , que es donde lo lee