Autor Tema: warning con directivas de Mplab  (Leído 2235 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kurdo22

  • PIC10
  • *
  • Mensajes: 48
warning con directivas de Mplab
« en: 11 de Octubre de 2004, 09:59:00 »


     Cuando uso la directiva IF del MPLAB me da unos warning que no se a que se debe. Yo hago lo siguente:

                                     
IF CABECERA_PAQUETE_L == H"00"

        goto COMIENZO_CONEXION

ELSE
 
        goto FINAL_CONEXION        

ENDIF


      Me da los siguiente warnings:

Warning[205] C:WINDOWSESCRITORIOPROGRAMACIONPAQUETES_INTERPRETACION.ASM 98 : Found directive in column 1. (IF)
Warning[205] C:WINDOWSESCRITORIOPROGRAMACIONPAQUETES_INTERPRETACION.ASM 105 : Found directive in column 1. (ENDIF)


  ¿A que se debe?

Desconectado nechevel

  • PIC10
  • *
  • Mensajes: 24
RE: warning con directivas de Mplab
« Respuesta #1 en: 11 de Octubre de 2004, 15:26:00 »
Hola Kurdo,
Si no estoy mal, el warning que te aparece se debe a que colocas las directivas IF y ENDIF en la primera columna del editor (en la columna de los labels). Para corregirlo solamente escribe las directivas en la columna de instrucciones (un TAB desde la primera columna).
Saludos.

Desconectado kurdo22

  • PIC10
  • *
  • Mensajes: 48
RE: warning con directivas de Mplab
« Respuesta #2 en: 12 de Octubre de 2004, 17:04:00 »
 

    Muchas gracias nechevel, ese era el problema. Un saludo y gracias de nuevo.

Desconectado kurdo22

  • PIC10
  • *
  • Mensajes: 48
RE: warning con directivas de Mplab
« Respuesta #3 en: 13 de Octubre de 2004, 18:52:00 »

Buenas, el otro dia me solucionaste un problemilla con la directiva if. Me preguntaba si podrias ayuarme con este otro problemilla que me ha surgido con el IF. Tengo un problema con la directiva IF. Siempre me coge el caso ELSE, aunque el IF sea verdadero. Lo he simulado y se me va al ELSE.Complila perfectamete, no da warning ni error. He comprobado que la variable que comparo tiene el dato igual al que quiero comparar y nada. A continuacion te dejo el programa a ver si podeis decirme algo.

Por lo que he podido ver en la documetacion el IF compara una expresion, y creo que yo comparo una variable. ¿Puede estar ahi el problema? De ser asi, ¿como declaro una expresion, o son lo mismo?


LIST P=18F8720 ;Tipo de procesador
INCLUDE <P18F8720.INC> ;Definicion de registros internos

TXDATO equ 0x19
RXDATO equ 0x1A

CONTADOR equ 0x12

CABECERA_PAQUETE_H equ 0x1B ;Variables TELECOMANDO
CABECERA_PAQUETE_L equ 0x1C
FIN_PAQUETE_H equ 0x1D
FIN_PAQUETE_L equ 0x1E
ESTADO_H equ 0x1F
ESTADO_L equ 0x20


INICIO

.....
.....

IF CABECERA_PAQUETE_L==H"44" ; Solicitud de Telemetría
goto SOLICITUD_TELEMETRIA
ELSE
goto SOLICITUD_DATOS ;En caso de telecomando erroneo
ENDIF ;se envia telemetría

.....
.....

SOLICITUD_TELEMETRIA

....
....

SOLICITUD_DATOS

....
....

Desconectado nechevel

  • PIC10
  • *
  • Mensajes: 24
RE: warning con directivas de Mplab
« Respuesta #4 en: 13 de Octubre de 2004, 19:12:00 »
Hola Kurdo.
En apariencia no se ve nada mal, aunque me deja una duda el valor que le das a la variable: CABECERA_PAQUETE_L==H"44".
Si el valor de la variable es 44 hexadecimal, ponlo así y pruébalo: CABECERA_PAQUETE_L == 44.
Cuéntame a ver que ocurre.

Desconectado PWRINVITRO

  • PIC12
  • **
  • Mensajes: 78
RE: warning con directivas de Mplab
« Respuesta #5 en: 14 de Octubre de 2004, 12:01:00 »
saludos.. de verdad esta rara esa asiganacion del valor H"44"

para cargar un valor decimal vas con poner un punto antes del valor ejemplo     movlw         .10
en hexa seria     movlw         0AH
en binario seria  movlw        b"00001010"


no se porq todo el mundo usa notaciones tan raras si son tan senciyas!!!!


 

anything