Autor Tema: Como trabaja la función getenv()  (Leído 85 veces)

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

Desconectado Carlos2302

  • PIC12
  • **
  • Mensajes: 93
Como trabaja la función getenv()
« en: 04 de Diciembre de 2019, 15:30:16 »
Hola muchach@s del foro, mi pregunta es como funciona esta función ya que estoy empezando a verla muy seguido en varios programas. 
#rom getenv("EEPROM_ADDRESS")={1,2,3,4,5,6,7,8}//ejemplo sacado de la ayuda ccs 
 Aquí yo se que estoy escribiendo en la eeprom esos valores pero de adonde sale de EEPROM_ADDRESS.  Es lo que no entiendo.  Muchas gracias.  :-/
Gracias a Dios por aquellas personas que ayudan sin esperar nada a cambio. Dios los bendiga hoy mañana y siempre.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re:Como trabaja la función getenv()
« Respuesta #1 en: 04 de Diciembre de 2019, 18:06:01 »
Que tal Carlos2302,

Precisamente eso es lo que hace la función getenv(). Esa función te va a devolver el valor de la dirección a que le corresponde EEPROM_ADDRESS, es decir, getenv("EEPROM_ADDRESS") va a buscar la dirección en que puede grabar esos datos y luego te devuelve el valor y ese valor, es el parámetro que necesita #rom para grabar los datos.

elreypic.

Desconectado Carlos2302

  • PIC12
  • **
  • Mensajes: 93
Re:Como trabaja la función getenv()
« Respuesta #2 en: 04 de Diciembre de 2019, 18:27:43 »
Claro yo entiendo eso Elreypic, gracias por responder, pero de donde toma esa palabra para hacer la comparación, yo se que la funcion devuelve un valor verdadero si existe coincidencia de palabra, pero lo que no entiendo es en donde hace esta comparacion. Estuve revisando el archivo de cabecera  PIC16F628A que es el pic con el que estoy haciendo unas practicas sencillas y no veo ninguna palabra con el nombre de EEPROM_ADDRESS.
Gracias a Dios por aquellas personas que ayudan sin esperar nada a cambio. Dios los bendiga hoy mañana y siempre.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7433
Re:Como trabaja la función getenv()
« Respuesta #3 en: 04 de Diciembre de 2019, 18:33:20 »
Es una directiva (no es una función) del compilador. Así mismo el mismo compilador ofrece algunas constantes referidas al PIC que fue seleccionado para trabajar y esa es una de ellas.

Más información lo podés buscar en el manual del compilador.

Desconectado Carlos2302

  • PIC12
  • **
  • Mensajes: 93
Re:Como trabaja la función getenv()
« Respuesta #4 en: 04 de Diciembre de 2019, 19:07:55 »
Asi es maestro KILLERJC, ya lo acabo de descubrir tambien, pues parecen que fueran funciones y cuyos parametros ya estan establecidos por el propio compilador. Coloco unos ejemplos sacados de la ayuda.

Examples:
#IF  getenv("VERSION")<5.091
    #ERROR  La version del compilador debe ser mayor o igual a la 5.091 CDR
#ENDIF

for(i=0;i<getenv("DATA_EEPROM");i++)
write_eeprom(i,0);

#IF getenv("FUSE_VALID:BROWNOUT")
      #FUSE BROWNOUT
#ENDIF

#byte status_reg=GETENV(“SFR:STATUS”)

#bit carry_flag=GETENV(“BIT:C”)
 
La de DATA_EEPROM me parece muy util para cuando se llena la memoria eeprom no la vaya a sobre escribir.
Aunque en realida todas son importantes.
Por ejemplo si quiero que que el programa me compile solo por arriba de una version del compilador utilizo el primer ejemplo de lo contrario no me va a compilar generando un error que lo pòdemos editar nosotros mismos.
Gracias a Dios por aquellas personas que ayudan sin esperar nada a cambio. Dios los bendiga hoy mañana y siempre.


 

anything