Amigos, estoy hace 2 dias con este problema.
Tengo un proyecto finalizado de telecontrol GSM con un PIC16F876A, funciona de maravilla, usa un SIM900 y una que otra cosa mas, la unica caracteristica es que todo el circuito funciona con 4V, pero va de maravilla, inicialmente el proyecto empezo con un PIC16F648A pero por cuestiones de aumento de funciones tuve que migrarlo al F876A, pero resulta que tengo que entregar un pequeño lote de este proyecto, y me doy con la sorpresa que se agotaron los F876A, asi que decidi migrarlo al F886, pero resulta que ahora no funciona, el detalle que me llama la atencion es que pareciera que funcionara mas lento, le puse un led de parpadeo que deberia de parpadear cada 1/2 seg, pero parece que ahora lo hace cada 3 segundos, me fije la configuracion del oscilador interno (con la palabra de configuracion) pero segun mis conocimientos pareciera que estuviera bien; el cristal que uso es de 20MHz, no sera que ese F886 no funciona con ese valor, o quizas ya no opera a 20MHz con 4V.
Todo el circuito opera con 4V por el SIM900 que requiere 4V, les pongo la parte inicial del codigo, quizas esta mal configurado, tambien le puse el Brown out reset a 2.1V para que no haya problema con 4V, pero sigue igual. O quizas tengo que ponerle alguna configuracion a la fuerza.
Espero que alguien logre darme luces. Muchas gracias.
#define pic_microchip 1 // si pic_micro=0 usa PIC16F876A
// si pic_micro=1 usa PIC16F886
#if pic_microchip==0
#include <16f876A.h> //pic a utilizar
#device *=16
#fuses HS,NOWDT,PROTECT,PUT,NOLVP,NOBROWNOUT //ordenes para el programador
#use delay (clock=20000000,RESTART_WDT)
#endif
#if pic_microchip==1
#include <16f886.h> //pic a utilizar
#device *=16
#fuses HS,NOWDT,PROTECT,PUT,NOLVP,NOBROWNOUT,MCLR,BORV21 //ordenes para el programador
#use delay (clock=20000000)
#endif
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#include <stdlib.h>
#include <string.h>
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#zero_ram //limpia la memoria de datos de los microcontroladores pic
el define de pic_microchip que hago es para tener las 2 versiones en un solo codigo.
por alli lei una vez que dentro del #use delay aparte de clock habia que ponerle crystal o algo asi?
Uso el CCS v 4.114