Autor Tema: pic18f46k20.h variable "_RA0" is deprecated buscando respuestas a advertencias.  (Leído 3471 veces)

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

Desconectado yamilongiano

  • PIC10
  • *
  • Mensajes: 37
hola bueno ahoa me meto cada ves mas en la programacion. gracias al foro ya em meto a mirar mas en las librerias. aunque aun me logra comprender por completo todo. pero siento que voy por buen camino.

bueno he compilado un pic que nunca habia usado. el pic18f46K20 se compilo sin problemas pero genera algunos errores que quiero comprender mas que errores son advertencias del MPLAB X IDE.

a continuacion porgo la salida del compilador

output:

Código: [Seleccionar]
:: warning: (1273) Omniscient Code Generation not available in Free mode
pruebas.c:27: warning: (1385) variable "_RA0" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8391)
pruebas.c:28: warning: (1385) variable "_RB0" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8407)
pruebas.c:30: warning: (1385) variable "_RB0" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8407)
pruebas.c:32: warning: (1385) variable "_RA1" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8393)
pruebas.c:33: warning: (1385) variable "_RB1" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8409)
pruebas.c:35: warning: (1385) variable "_RB1" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8409)
pruebas.c:37: warning: (1385) variable "_RA2" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8395)
pruebas.c:38: warning: (1385) variable "_RB2" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8411)
pruebas.c:40: warning: (1385) variable "_RB2" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8411)
:: warning: (1311) missing configuration setting for config word 0x300001, using default
:: warning: (1311) missing configuration setting for config word 0x300002, using default
:: warning: (1311) missing configuration setting for config word 0x300003, using default
:: warning: (1311) missing configuration setting for config word 0x300005, using default
:: warning: (1311) missing configuration setting for config word 0x300006, using default
:: warning: (1311) missing configuration setting for config word 0x300008, using default
:: warning: (1311) missing configuration setting for config word 0x300009, using default
:: warning: (1311) missing configuration setting for config word 0x30000A, using default
:: warning: (1311) missing configuration setting for config word 0x30000B, using default
:: warning: (1311) missing configuration setting for config word 0x30000C, using default
:: warning: (1311) missing configuration setting for config word 0x30000D, using default



pruebas.c:27: warning: (1385) variable "_RA0" is deprecated (declared at C:\Program Files\Microchip\xc8\v1.32\include\pic18f46k20.h:8391)

segun comprendo la variable RA0 tiene un problema,  pero no entiendo bien como solucionarlo y la importancia del problema ya que logra compilar, y en el simulador proteus funciona bien.

is deprecated ?...   ¿significa que no ha sido declarada en el pic18F46K20.h  o dejada al aire me imagino?. no comprendo bien este termino ya que la traduccion significa menospreciada o dejada de lado. en programacion quizas tiene otro sentido.


y por ultimo:

pic18f46k20.h:8391        (:8391)  este como especie de puerto ( en direcciones web), este numero no se a que hace referencia, si alguien es tan amable de explicarme estos terminos ya que al parecer  MPLAB X IDE  te dice donde se encuentra el error o te lo aproxima o referencia donde podria estar el problema y me gustaria comenzar a entender este tipo de lenguaje y advertencias.

desde ya gracias.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: pic18f46k20.h variable "_RA0" is deprecated buscando respuestas a advertencias.
« Respuesta #1 en: 27 de Agosto de 2014, 20:47:07 »


Los WARNING" no son errores, solo avisos, el programa compila y funciona igualmente.

"Deprecated", se refiere a que esa instrucción o formato, en este caso manera de declarar una variable, ya no es recomendable usarla, porque hay otras más adecuadas, y muy probablemente en las siguientes versiones del compilador desaparecerá y si que te dará error de compilación.

Yo esto del "deprecated" lo he vivido con el PHP en el diseño de páginas web, creo recordar que al pasar de PHP 5.2 a 5.3, aparecían muchos avisos de ese tipo, el programa funcionaba pero te estaba avisando que para la próxima versión esa instrucción sería eliminada, de esa manera te insta a que la reemplaces por otra instrucción que cumple la misma función, pero con mejores o nuevas prestaciones.

Mira en el manual del compilador, a ver que variable o formato de variable debes de usar para reemplazar a todas las que te salen con deprecated.
En cuanto a pic18f46k20.h:8391 , ese 8391 probablemente se está refiriendo al número de linea dentro del fuente pic18f46k20.h





Desconectado yamilongiano

  • PIC10
  • *
  • Mensajes: 37
Re: pic18f46k20.h variable "_RA0" is deprecated buscando respuestas a advertencias.
« Respuesta #2 en: 28 de Agosto de 2014, 01:15:43 »


Los WARNING" no son errores, solo avisos, el programa compila y funciona igualmente.

"Deprecated", se refiere a que esa instrucción o formato, en este caso manera de declarar una variable, ya no es recomendable usarla, porque hay otras más adecuadas, y muy probablemente en las siguientes versiones del compilador desaparecerá y si que te dará error de compilación.

Yo esto del "deprecated" lo he vivido con el PHP en el diseño de páginas web, creo recordar que al pasar de PHP 5.2 a 5.3, aparecían muchos avisos de ese tipo, el programa funcionaba pero te estaba avisando que para la próxima versión esa instrucción sería eliminada, de esa manera te insta a que la reemplaces por otra instrucción que cumple la misma función, pero con mejores o nuevas prestaciones.

Mira en el manual del compilador, a ver que variable o formato de variable debes de usar para reemplazar a todas las que te salen con deprecated.
En cuanto a pic18f46k20.h:8391 , ese 8391 probablemente se está refiriendo al número de linea dentro del fuente pic18f46k20.h







genial muchas gracias entendi perfectamente. =)

Desconectado yamilongiano

  • PIC10
  • *
  • Mensajes: 37
Re: pic18f46k20.h variable "_RA0" is deprecated buscando respuestas a advertencias.
« Respuesta #3 en: 28 de Agosto de 2014, 15:08:21 »


Los WARNING" no son errores, solo avisos, el programa compila y funciona igualmente.

"Deprecated", se refiere a que esa instrucción o formato, en este caso manera de declarar una variable, ya no es recomendable usarla, porque hay otras más adecuadas, y muy probablemente en las siguientes versiones del compilador desaparecerá y si que te dará error de compilación.

Yo esto del "deprecated" lo he vivido con el PHP en el diseño de páginas web, creo recordar que al pasar de PHP 5.2 a 5.3, aparecían muchos avisos de ese tipo, el programa funcionaba pero te estaba avisando que para la próxima versión esa instrucción sería eliminada, de esa manera te insta a que la reemplaces por otra instrucción que cumple la misma función, pero con mejores o nuevas prestaciones.

Mira en el manual del compilador, a ver que variable o formato de variable debes de usar para reemplazar a todas las que te salen con deprecated.
En cuanto a pic18f46k20.h:8391 , ese 8391 probablemente se está refiriendo al número de linea dentro del fuente pic18f46k20.h







genial muchas gracias entendi perfectamente. =)


hola me he dado el tiempo por que con los estudios me cuesta. bueno he mirado la libreria del pic18F46K20.h  lo abri con notepad pro para buscar la linea...

Código: [Seleccionar]
#define                                 PSSBD1_bit          BANKMASK(ECCP1AS), 1
extern volatile __bit _DEPRECATED       RA0                 @ (((unsigned) &PORTA)*8) + 0;
#define                                 RA0_bit             BANKMASK(PORTA), 0
extern volatile __bit _DEPRECATED       RA1                 @ (((unsigned) &PORTA)*8) + 1;
#define                                 RA1_bit             BANKMASK(PORTA), 1
extern volatile __bit _DEPRECATED       RA2                 @ (((unsigned) &PORTA)*8) + 2;
#define                                 RA2_bit             BANKMASK(PORTA), 2
extern volatile __bit _DEPRECATED       RA3                 @ (((unsigned) &PORTA)*8) + 3;
#define                                 RA3_bit             BANKMASK(PORTA), 3
extern volatile __bit _DEPRECATED       RA4                 @ (((unsigned) &PORTA)*8) + 4;
#define                                 RA4_bit             BANKMASK(PORTA), 4
extern volatile __bit _DEPRECATED       RA5                 @ (((unsigned) &PORTA)*8) + 5;
#define                                 RA5_bit             BANKMASK(PORTA), 5
extern volatile __bit _DEPRECATED       RA6                 @ (((unsigned) &PORTA)*8) + 6;
#define                                 RA6_bit             BANKMASK(PORTA), 6
extern volatile __bit _DEPRECATED       RA7                 @ (((unsigned) &PORTA)*8) + 7;
#define                                 RA7_bit             BANKMASK(PORTA), 7
extern volatile __bit _DEPRECATED       RB0                 @ (((unsigned) &PORTB)*8) + 0;
#define                                 RB0_bit             BANKMASK(PORTB), 0
extern volatile __bit _DEPRECATED       RB1                 @ (((unsigned) &PORTB)*8) + 1;
#define                                 RB1_bit             BANKMASK(PORTB), 1
extern volatile __bit _DEPRECATED       RB2                 @ (((unsigned) &PORTB)*8) + 2;
#define                                 RB2_bit             BANKMASK(PORTB), 2
extern volatile __bit _DEPRECATED       RB3                 @ (((unsigned) &PORTB)*8) + 3;
#define                                 RB3_bit             BANKMASK(PORTB), 3
extern volatile __bit _DEPRECATED       RB4                 @ (((unsigned) &PORTB)*8) + 4;
#define                                 RB4_bit             BANKMASK(PORTB), 4
extern volatile __bit _DEPRECATED       RB5                 @ (((unsigned) &PORTB)*8) + 5;
#define                                 RB5_bit             BANKMASK(PORTB), 5
extern volatile __bit _DEPRECATED       RB6                 @ (((unsigned) &PORTB)*8) + 6;
#define                                 RB6_bit             BANKMASK(PORTB), 6
extern volatile __bit _DEPRECATED       RB7                 @ (((unsigned) &PORTB)*8) + 7;
#define                                 RB7_bit             BANKMASK(PORTB), 7

he encontrado como tu dijiste la ubicacion del los deprecated. y las salidas, tal como dijiste ese numero te dice donde se encuentra la advertencia.

seria mucho pedirte por favor explicarme como se lee o se entiende esto linea .


 ahora voy a ver como encuentro el manual del xc8 ( de seguro en la carpeta de instalacion), como puedo buscar la actualizacion de la sintaxis.
los busco como actualizacion de codigo de la variable. o se busca por pic eso no entiendo,Es primera vez comienzo a analizar mas profundo esto del lenguaje y las liberrias.

antes solo sabia que se llamaba rb0 (i/O) ahora estoy mirando mas profundo.