• Martes 5 de Noviembre de 2024, 15:47

Autor Tema:  Error Al Compilar Asm  (Leído 3705 veces)

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Error Al Compilar Asm
« en: Domingo 1 de Febrero de 2004, 22:47 »
0
Buenas, estoy haciendo mis primeros pinitos con pics, he bajado de la red unos ejemplos de programas para controlar motores, sensores y demas, pero al complilarlos con el MpAsmWin me da error de que ciertas variables usadas en el programa no han sido declaradas. Sin embargo, se supone que los asm tiene que funcionar perfectamente y las variabes a veces si estan declaradas (Lcd_var):

CBLOCK   Lcd_var         ;Inicio de las variables

y otras veces no (RP0 aparece aqui por primera vez):

UP_LCD          bsf     STATUS,RP0      ;Banco 1

Asi me pasa con otras variables llamadas Z, W... etc que no estan declaradas por ningun lado. Sin embargo, en otros codigos asm que compilo me aparece lo mismo, pero no da error!!! (Z no ha sido declarada anteriormente):

btfss   STATUS,Z   ;Mira si es el último (0x00)

En este ultimo ejemplo el pic es un 16f876, lo que me da pensar que el 16f84 (el utilizado en los ejemplos anteriores) no tiene esos registros y por lo tanto el codigo tiene el tipo de pic mal declarado.
¿Las declaro como Z equ 0? mejor seria Z res 1? o es el compilador que esta mal??
saludos.

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Error Al Compilar Asm
« Respuesta #1 en: Domingo 1 de Febrero de 2004, 23:17 »
0
Me respondo a mi mismo para aclarar un poco mas las cosas. He cambiado el tipo de pic del 16f84 al 16f876 en el asm y ahora no da error al compilar, pero si dejo el 16f84 y declaro las variables que dan error como "Z equ 0"(por ejemplo) tampoco me da error. Cual seria la forma correcta? Yo creo que se han equivocado de pic, dado que el registro RP0 suena a registro propio de tal o cual pic, pero resulta que al programarlo sobre el 16f876 con el icprog me dice que la verificacion ha sido correcta, sin embargo, despues de programarlo le doy a verificar y me falla en la direccion 0 (con y sin Eeprom 24LC65). He probado con otros programas asm para el 16f876 y la verificacion funciona correctamente.
Si dejo como venia originalmente 16f84 y declaro los registros como Z equ 0 (por ejemplo) todo funciona perfectamente.  Es esto lo correcto dado que no venian en el programa original???

Saludos.

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Error Al Compilar Asm
« Respuesta #2 en: Sábado 7 de Febrero de 2004, 14:32 »
0
Hola, mira, lo que estas haciendo es seguir una manera o costumbre de programar que es empleada por otros programadores, deberias hacerlo tu para poder entender y que no aparescan los errores descriptos... ahora si tu quieres solucionar tu problama lo unico que debes hacer es reemplazar esas variables por su valor... eso de Z, W y otros son valores reemplazados por letras para mejor comprension, esos cambios estan hechos en un archivo que incluye el ICProg, pero fuera de este es nada mas y nada menos que nada... deberias reemplazar en cada codigo las variables como STATUS, W, Z, etc por su valor de memoria.
   Espero me entiendas, intenta eso y cuentame luego, talvez con eso sea suficiente... esos programas estan hechos por otras personas las cuales han empleado programas diferentes al tuyo, por eso tanta incompactibilidad. Saludos y Suerte :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Error Al Compilar Asm
« Respuesta #3 en: Sábado 7 de Febrero de 2004, 18:59 »
0
Gracias por la respuesta. Creo que si te entiendo lo que me quieres decir, pero entonces porque deja de dar error al cambiar el pic del 16f84 al 16f876?? Ademas, no conozco esos valores con los que debo declarar las variables, me imagino que sean 0 o 1 al comenzar.
Saludos.

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Error Al Compilar Asm
« Respuesta #4 en: Sábado 7 de Febrero de 2004, 21:33 »
0
Pues esos valores son las direcciones de cada registro dentro del PIC, la direccion de STATUS es 0x03... solo reemplaza, el hecho de que cambien de pic y funcione puede ser que dentro del archivo que incluye el programa al poner el del PIC16F77x varia con el F84 en la manera de mostrar esa informacion, de hecho estas igualmente transformando informacion en datos mas faciles de comprender, pues no hagas eso a menos que tu lo hagas con tus programas y sepas lo que haces... mas bien busca un mapa de direcciones del PIC y cambia todo por su respectivo valor. Saludos :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Setha

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Error Al Compilar Asm
« Respuesta #5 en: Domingo 8 de Febrero de 2004, 01:37 »
0
Pegasux, prueba añadir la siguiente directiva al comienzo del programa:   

INCLUDE  <P16F84A.INC>

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Error Al Compilar Asm
« Respuesta #6 en: Domingo 8 de Febrero de 2004, 20:29 »
0
Tenias razon!!!!! eso era lo que fallaba, no era el 16f84 sino el 16f84a. Muchas gracias!!

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Error Al Compilar Asm
« Respuesta #7 en: Lunes 9 de Febrero de 2004, 12:52 »
0
Miercoles  :o ... que simpleza y que loco te puede volver!!! :huh: ... pues le erre, toy acostumbrado a no usar las directivas del compilador eso me trajo problemas para ayudarte  :( ... pero bueno, mejor asi, ya lo has resuelto. Saludos :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Error Al Compilar Asm
« Respuesta #8 en: Lunes 9 de Febrero de 2004, 14:17 »
0
No te preocupes, gracias a ti tambien, seguro que vas a tener mas ocasiones para ayudarme  :P . Saludos.