TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Ignite en 07 de Abril de 2004, 10:33:00

Título: Problema al pasar soft del 16f84a al 16f628
Publicado por: Ignite en 07 de Abril de 2004, 10:33:00
Dado que el 16f628 es más económico y tiene más cosas que el 16f84, decidí renobar una aplicación que tenía guardada en el cajón.
He programado el 16f628 con el soft del 16f84 (desactivando los comparadores). Pero mi sorpresa es cuando lo pongo a funcionar y resulta que el circuito anda a medias, parece que va más lento y no me decodifica las señales de infrarojos que le meto.
Alguna vez ya había pasado sin problemas softs del 16f84 al 16f628. Pero es que esto no se a que se debe, ya que mi soft es muy simple, solo decodifica una sñal que le entra por RB0 y luego lo transmite. Entonces me pregunto si esto se puede deber a que lo he programado en C, y como el 16f628 tiene más bancos de memoria que no tenga problemas con esto. no se alguien tiene alguna idea de que puede deberse?

Saludos
Título: RE: Problema al pasar soft del 16f84a al 16f628
Publicado por: todopic en 07 de Abril de 2004, 11:17:00
Hola, no son iguales... son PARECIDOS... yo me tope con esos problemas... recuerda que los registros para el f84 estan a partir de la direccion H"0C"  y en el 628 recien comienzan en  H"20"   ;32 decimal

no se si empleas el FSR....  tambien las direcciones de grabacion de la eepron cambian de bancos...


suerte!

Norberto
Título: RE: Problema al pasar soft del 16f84a al 16f628
Publicado por: CDT_Gonzalo en 07 de Abril de 2004, 15:11:00
Escrito originalmente por Ignite
Dado que el 16f628 es más económico y tiene más cosas que el 16f84, decidí renobar una aplicación que tenía guardada en el cajón.
He programado el 16f628 con el soft del 16f84 (desactivando los comparadores). Pero mi sorpresa es cuando lo pongo a funcionar y resulta que el circuito anda a medias, parece que va más lento y no me decodifica las señales de infrarojos que le meto.
Alguna vez ya había pasado sin problemas softs del 16f84 al 16f628. Pero es que esto no se a que se debe, ya que mi soft es muy simple, solo decodifica una sñal que le entra por RB0 y luego lo transmite. Entonces me pregunto si esto se puede deber a que lo he programado en C, y como el 16f628 tiene más bancos de memoria que no tenga problemas con esto. no se alguien tiene alguna idea de que puede deberse?

Saludos


podrá ser problema de Oscilacion? probé el 628 con el oscilador interno y funcionaba bastante bien, pero de repente tiraba cualquier cosa :S, porque no le metes un XT para probar?

saludos
Título: RE: Problema al pasar soft del 16f84a al 16f628
Publicado por: Ignite en 07 de Abril de 2004, 17:09:00
Gracias a los dos por las respuestas.

El programa lo he hecho en C (bueno casi todo), y se supone que el movimiento y direccionamiento de los registros los tiene que hacer correctamente. La parte que he escrito en assembler es tan simple que no tiene nada que ver, ya que solo se trata de rutinas de retardo  y cuatro movimientos de registro. Lo que no se es si el compilador optimiza las posiciones de memoria para no tener que ir cambiando de banco, ya que si no es así, es posible que cada vez que lee o escribe en una variable esté cambiando de banco.
Lo del oscilador uso uno XT de 4Mhz(ya que mi PIC no da pa mas).
Estoy haciendo pruebas para ver por donde puede ir el problema. Pero lo veo bastante mal, ya que con cosas sencillas parece funcionar correctamente, mientras que si le hago hacer más complejas no tira.
Estoy pensando en pasar el código en asm, pero la verdad es que me da mucha pereza, ya que es bastante complejo y por esto lo hice en C por ser más cómodo.

Thanks !!!