Autor Tema: PROBLEMAS CON RA4 y EEPROM  (Leído 2352 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
PROBLEMAS CON RA4 y EEPROM
« en: 26 de Mayo de 2006, 11:38:15 »
Siempre tengo el problema con el pin RA4 cuando lo utilizo como salida, y aunque la unica solucion que he encontrado es hacer un pequeño pedazo de codigo en asm, quisiera saber si hay una solucion mas elegante.

La resistencia pull-up externa si la coloco, de 1K y nada, 10K y nada, 4.7K y nada...

hasta ahora intento con:

ouput_high(pin_a4); y nada
output_bit(pin_a,1); y nada
output_float(pin_a4); y aveces si lo enciende, pero cuando lo quiero apagar, no lo hace.

la solucion hata ahora ha sido:

            //Enciende (relevo)

            #ASM
            bsf   0x03,5
            bcf   0x03,6
            bcf   0x05,4
            bcf   0x03,5
            bcf   0x03,6
            bsf   0x05,4
            #ENDASM

            //apaga (relevo)
            #ASM
            bsf   0x03,5
            bcf   0x03,6
            bcf   0x05,4
            bcf   0x03,5
            bcf   0x03,6
            bcf   0x05,4
            #ENDASM

Otro problema que tengo es que los datos de la memoria eeprom interna se estan perdiendo, no se por que, los diseño los lleno de capacitores de 0.1uF para cada integrado, y nada, me ha tocado perder 3 espacios en memoria y grabar lo mismo, y cuando necesito tomar el dato, leo las 3 posiciones y el dato real seria el que se repite mas. pues hasta ahora me las he arreglado asi, pero quisiera saber si hay otra forma. no sea que un dia de estos me salga un proyecto en el que no pueda perder ningun dato.
 

Saludos desde colombia

« Última modificación: 26 de Mayo de 2006, 11:59:43 por PICmouse »

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: PROBLEMAS CON RA4
« Respuesta #1 en: 26 de Mayo de 2006, 11:53:10 »

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: PROBLEMAS CON RA4 y EEPROM
« Respuesta #2 en: 26 de Mayo de 2006, 12:04:47 »
Hola modulay, segui el hilo del link me diste, pero creo que el problema que habia hay era la resistencia externa pull-up que faltaba, te cuento que yo si la coloco, pero al parecer el problema es del CCS. hay alguna forma de saber que hace este compilador cuando se le da el comado:

output high y output_low y sobre todo output float, hasta mi parecer output high hace lo mismo que output float, ya que RA4 no puede dar un 1 logico por si solo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PROBLEMAS CON RA4 y EEPROM
« Respuesta #3 en: 26 de Mayo de 2006, 14:22:38 »
Hola modulay, segui el hilo del link me diste, pero creo que el problema que habia hay era la resistencia externa pull-up que faltaba, te cuento que yo si la coloco, pero al parecer el problema es del CCS. hay alguna forma de saber que hace este compilador cuando se le da el comado:

output high y output_low y sobre todo output float, hasta mi parecer output high hace lo mismo que output float, ya que RA4 no puede dar un 1 logico por si solo.

Si, la forma es ver el código ensamblador que genera el código en C.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: PROBLEMAS CON RA4 y EEPROM
« Respuesta #4 en: 26 de Mayo de 2006, 14:39:17 »
uuuuummm, yaa veo, pero ya hice el intento y como el C genera un monton de arandelas al programa, es dificil llegar a donde hace el BSF porta,4, yo tengo 4 años programando en ensamblador y 6 meses en C, aunque en este ultimo se le dan acabados muy buenos a los programas, funcionalmente bien, facilidad de programacion bien, rapidez de desarrollo muy bien, sobretodo usando una LCD y RS232 es muy facil, no dejo de pensar con la mentalidad de ASM y siempre hay la pregunta si lo esta haciendo bien el compilador. Es una sensacion de estar dependiendo de los creadores del CCS, y no del codigo que has escrito.

Programar en C es mejorar las cosas, aunque la cantidad de memoria que ocupa es barbara.

Saludos desde COLOMBIA :-)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PROBLEMAS CON RA4 y EEPROM
« Respuesta #5 en: 26 de Mayo de 2006, 22:47:18 »
Programar en C es mejorar las cosas, aunque la cantidad de memoria que ocupa es barbara.
En lo personal no estoy tan de acuerdo.

Si tienes una buena librería de macros en ensamblador, puedes lograr códigos en el mismo tiempo que lo harías en un C como CCS.  De hecho muchos lo hacen así.

Programar en ensamblador no es sinónimo de empeorar las cosas o programar en C no es sinónimo de mejorar las cosas.  Creo que eso depende de como estructures tus software.
Puedes programar bien organizado en ensamblador y ser un desordenado en C o viceversa :)

Es cierto que uno cuando usa un compilador realmente no sabe que es lo que hace el compilador, pero para eso uno puede ir a ver el código fuente y analizar con mayor detalle.  De todas formas, hay cosas que siempre se nos escapan y en ensamblador uno lleva el control completo (para bien o para mal) y cuesta cambiar de mentalidad y forma de pensar.

En lo personal en los 16F programo en ensamblador y en los 18F principalmente en C.  En los 18F me ha pasado lo mismo que a tí que a veces no me salen las cosas y entro a desconfiar del compilador, pero me he dado cuenta que no lo sé usar y leyendo y leyendo y viendo en foros voy aprendiendo más en como sacarle jugo.  Hasta ahora puedo deccir que la culpa puedo decir que la tengo yo y no el compilador.  Un compilador para microcontroladores siempre tiene limitaciones y las cuales están documentadas, lo que pasa que por ahi uno lee medio a las apuradas y no las alcanza a interpretar de primer paso .  (Al menos el C18 están muy comentadas las limitaciones que tiene el C pero de primera instancia me ha costado interpretar las mismas! por carecer de conocimientos sobre el tema pero poco a poco voy mejorando).

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Belmontemarin

  • PIC10
  • *
  • Mensajes: 6
Re: PROBLEMAS CON RA4 y EEPROM
« Respuesta #6 en: 27 de Mayo de 2006, 15:38:34 »
Revisa tambien el resto de escrituras que realizas en el resto del puerto A; puede que se trate de un tema de escrituras consecutivas.

Revísalo, a mi me ha pasado varias veces; por ello llevo mucha cautela con las escrituras en un mismo puerto que no queden demasiado cerca.

Por cierto, tambien puede ser que el pic esté mal programado.

¿Que programador usas? Si es de estos caseros con una Vcc no muy estable puede deberse a eso.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: PROBLEMAS CON RA4 y EEPROM
« Respuesta #7 en: 27 de Mayo de 2006, 16:32:41 »
Maunix, respeto mucho tu opinion, pero aunque con ensamblador se pueden controlar muchas cosas, las operaciones matematicas eran un dolor de cabeza y mas si se trataba de trabajar con puntos decimales. por muy buen promador que uno sea en 98  es dificil se logren hacer las mismas cosas en ensamblador qu en C, (HABLANDO DE TIEMPO DE DESARROLLO), porque se que en ensamblador se logran las mismas cosas que en C, pero cuanto tiempo tarda uno en terminar'''??

Saludos desde colombia