TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Mind-field en 20 de Mayo de 2009, 15:46:07
-
Hola buenas tardes foro ! tengo un .err y no lo se interpretar , de mas esta decir que soy pichón en assembler ! , alguien me puede dar una mano ?
Bueno esto es lo que me esta pasando
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 52 : Symbol not previously defined (RS232_LeeDatos)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 76 : Symbol not previously defined (TeclaPulsada)
Warning[207] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 78 : Found label after column 1. (btfcs)
Error[122] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 78 : Illegal opcode (STATUS)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 81 : Symbol not previously defined (TeclaPulsada)
Warning[207] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 83 : Found label after column 1. (btfse)
Error[122] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 83 : Illegal opcode (STATUS)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 86 : Symbol not previously defined (TeclaPulsada)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 89 : Symbol not previously defined (IZQUIERDA)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 91 : Symbol not previously defined (TeclaPulsada)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 94 : Symbol not previously defined (DERECHA)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 96 : Symbol not previously defined (TeclaPulsada)
Warning[203] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 100 : Found opcode in column 1. (goto)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 100 : Symbol not previously defined (FIN)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 107 : Symbol not previously defined (Visualiza)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 114 : Symbol not previously defined (Visualiza)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 121 : Symbol not previously defined (Visualiza)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 127 : Symbol not previously defined (mensajeIzquierda)
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 128 : Symbol not previously defined (Visualiza)
Error[113] C:\X\MOTOR(PAP)\1\RS232.INC 64 : Symbol not previously defined (Retardo_100micros)
Error[113] C:\X\MOTOR(PAP)\1\RS232.INC 65 : Symbol not previously defined (Retardo_50micros)
Error[113] C:\X\MOTOR(PAP)\1\RS232.INC 71 : Symbol not previously defined (Retardo_100micros)
Error[113] C:\X\MOTOR(PAP)\1\RS232.INC 74 : Symbol not previously defined (Retardo_200micros)
Error[113] C:\X\MOTOR(PAP)\1\RS232.INC 99 : Symbol not previously defined (Retardo_100micros)
Error[113] C:\X\MOTOR(PAP)\1\RS232.INC 110 : Symbol not previously defined (Retardo_100micros)
Error[113] C:\X\MOTOR(PAP)\1\RS232.INC 114 : Symbol not previously defined (Retardo_200micros)
Error[105] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 151 : Cannot open file (Include File "RS232MEN.INC" not found)
Error[105] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 154 : Cannot open file (Include File "RETARDOS_INC.ASM" not
found)
Que tengo que hacer ? y donde ? , estoy con un dolor de cabeza tremendo jeje :x
-
Esos son los errores, pero debes publicar el archivo asm para que los podamos encontrar.
-
bueno !
;SISTEMA DE GOBIERNO DESDE ORDENADOR Desde el teclado de un ordenador se desea comandar
;el movimiento de una estructura mavil, segun la siguiente tabla:
;
; TECLA (Por ejemplo) MOVIMIENTO
; ------------------- ----------
; t Adelante
; b Atrás
; a Izquierda
; l Derecha
; Espacio Parada
;
;El programa debe permitir modificar facilmente en posteriores revisiones en el harware de
;la salida, Es decir, para activar las salidas conviene utilizar el direccionamiento por bit
;en lugar de por byte(utilizar instrucciones "bsf" y "bcf", en lugar de "mov")
;
;ZONA DE DATOS***********************************************************************************
;
LIST p=16f84A
INCLUDE <P16f84A.INC>
__config _CP_OFF &_WDT_OFF &_PWRTE_ON &_XT_OSC
CBLOCK 0x0c
Teclapulsada ;va a guardar el contenido de la tecla pulsada.
MensajeApuntado ;Va a guardar la dirección del mensaje apuntado.
ENDC
#DEFINE SalidaAdelante PORTB,3 ;Define dómde se situan las salidas.
#DEFINE SalidaAtras PORTB,2
#DEFINE SalidaIzquierda PORTB,1
#DEFINE SalidaDerecha PORTB,0
TeclaAdelante EQU 't' ;Código de las teclas utilizadas
TeclaAtras EQU 'b'
TeclaIzquierda EQU 'a'
TeclaDerecha EQU 'l'
TeclaParada EQU ' ' ;Código de la tecla espaciadora, (hay un espacio,
;tener cuidado al teclear el programa).
;ZONA DE cÓDIGOS*************************************************************************
ORG 0
Inicio
;call LCD_Inicializa
call RS232_Inicializa
bsf STATUS,RP0 ;Configura como salida las 4 lineas del
bcf SalidaAdelante ;puerto B respetando la configuracion del
bcf SalidaAtras ;resto de las líneas.
bcf SalidaIzquierda
bcf SalidaDerecha
bcf STATUS,RP0
call Parado ;En principio todas las salidas deben estar
Principal ;apagadas.
call RS232_LeeDatos ;Espera a recibir un carácter.
call TesteaTeclado
goto Principal
;"Mensajes"------------------------------------------------------
;
Mensajes
addwf PCL,F
MensajeParado
DT"Sistema PARADO",0x00
MensajeAdelante
DT"Marcha ADELANTE",0x00
MensajeAtras
DT"Marcha ATRAS",0x00
MensajeIzquierda
DT"Hacia IZQUIERDA",0x00
MensajeDerecha
DT"Hacia DERECHA",0x00
;Subrutina"TesteaTeclado"----------------------------------------------
;
;Testea el teclado y actúa en consecuencia.
TesteaTeclado
movwf TeclaPulsada ;Guarda el contenido de la tecla pulsada
xorlw TeclaAdelante ;¿Es la tecla de movimiento hacia adelante?
btfcs STATUS,Z
goto Adelante ;Si, se desea movimiento hacia adelante
;
movf TeclaPulsada,w ;Recupera el contenido de la tecla pulsada
xorlw TeclaAtras ;¿Es la tecla de movimiento hacia atras?
btfse STATUS,Z
goto Atras ;Sí, se decea movimiento hacia atras
;
movf TeclaPulsada,W ;Recupera el contenido de la tecla pulsada
xorlw TeclaIzquierda ;¿Es la tecla del movimiento hacia la Izquierda
btfsc STATUS,Z
goto IZQUIERDA ;Sí, se decea movimiento hacia atras
;
movf TeclaPulsada,w ;Recupera el contenido de la tecla pulsada
xorlw TeclaDerecha ;¿Es la tecla del movimiento hacia la Derecha?
btfsc STATUS,Z
goto DERECHA ;Sí, se decea movimiento hacia la derecha
;
movf TeclaPulsada,W ;Recupera el contenido de la tecla pulsada
xorlw TeclaParada ;¿Es la tecla de parada?
btfss STATUS,Z
goto FIN ;No es ninguna tecla de movimiento sale
Parado
bcf SalidaAdelante ;Como se a pulsado la tecla de parada se
bcf SalidaAtras ;desactivan todas las salidas
bcf SalidaIzquierda
bcf SalidaDerecha
movlw MensajeParado
goto Visualiza
Adelante
bcf SalidaAtras
bsf SalidaAdelante
bcf SalidaIzquierda
bcf SalidaDerecha
movlw MensajeAdelante
goto Visualiza
Atras
bcf SalidaAdelante
bsf SalidaAtras
bcf SalidaIzquierda
bcf SalidaDerecha
movlw MensajeAtras
goto Visualiza
Izquierda
bcf SalidaAdelante
bcf SalidaAtras
bsf SalidaIzquierda
bcf SalidaDerecha
movlw mensajeIzquierda
goto Visualiza
Derecha
bcf SalidaAdelante
bcf SalidaAtras
bcf SalidaIzquierda
bsf SalidaDerecha
movlw MensajeDerecha
;Según el estado de las salidas visualiza el estado del sistema en el visualizador LCD y en
;el monitor del ordenador.
;Visualiza
; movwf MensajeApuntado ;Guarda la posición del mensaje.
; call LCD_Borra ;Borra la pantalla del modulo LCD.
; movf MensajeApuntado,W ;Visualiza el mensaje en la pantalla
; call LCD_Mensaje ;del visualizador LCD.
; call RS232_LineasBlanco ;Borra la pantalla del modulo LCD.
; movf MensajeApuntado,W
; call RS232_Mensaje ;Lo visualiza en el hiperTerminal
; call RS232_LineasBlanco
Fin return
INCLUDE <RS232.INC>
INCLUDE <RS232MEN.INC>
; INCLUDE <LCD_4BIT.INC>
; INCLUDE <LCD_MENS_INC>
INCLUDE <RETARDOS_INC>
END
-
Al hacer doble click sobre el error Mplab te posiciona sobre el error. La mayoría son errores de escritura. Por ejemplo, esta definida la variable Teclapulsada y tu llamas a TeclaPulsada.
Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 76 : Symbol not previously defined (TeclaPulsada)
O llamas a IZQUIERDA, y la etiqueta es Izquierda. Así que anda revisando eso.
-
pero que pasaria con esta linea ? Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 52 : Symbol not previously defined (RS232_LeeDatos) , estoy revisando lo demas ! Gracias !
-
Para incluir la librería se hace #include<P16f84A.INC>, #include<RS232.INC>...
-
pero que pasaria con esta linea ? Error[113] C:\X\MOTOR(PAP)\1\MOTOR(PAP).ASM 52 : Symbol not previously defined (RS232_LeeDatos) , estoy revisando lo demas ! Gracias !
Al parecer estas llamando a la subrutina RS232_LeeDatos y no esta definida esa subrutina, por lo que el compilador no la encuentra y te salta error de Symbol not previously defined.
-
como puedo solucionarlo ?? , perdón por la tardanza es que seguia intentando con el codigo ! , y gracias por responder !!.
-
Ya te lo respondí en un mensaje anterior. Para incluir librerias se hace asi: #include<>
-
como puedo solucionarlo ?? , perdón por la tardanza es que seguia intentando con el codigo ! , y gracias por responder !!.
Al parecer falta una parte del codigo, donde se define esa subrutina. Si no lo tenes, podrias eliminar todas las partes del codigo donde dice "call rs232_leedatos;" y de esa forma vas a evitar que te aparezca el error, pero tu programa, muy probablemente, no funcione(ya que falta una parte del codigo).
Se entiende? cualquier cosa volve a consultar