TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: telecoacme en 08 de Julio de 2004, 13:39:00

Título: Conversion entre tipos de datos
Publicado por: telecoacme en 08 de Julio de 2004, 13:39:00
Hola a todos tengo un pequeño problemilla con un dato de tipo int32, os cuento, necesitaría almacenar en una memoria externa (24c256) un dato de tipo int32, mi problema es que no se como hacerlo ya que la función de escritura que acepta la memoria para grabar datos es de tipo Byte.  

Alguien me puede echar una mano?

Otra cuestión si el tipo de dato fuese Float en vez de int32, Como puedo grabar ese tipo de dato en la memoria externa?

La cabecera de la función de escriturea en memoria externa es la siguiente:

void escribir_24c256(long int direccion, byte dato);


Gracias por todo y a todos por hacer posible este FORO.
Título: RE: Conversion entre tipos de datos
Publicado por: pikman en 08 de Julio de 2004, 20:48:00
Hola, aqui tienes las funciones para leer y escribir, para float o int32.


 n=direccion inicial de memoria a escribir.


WRITE_FLOAT_EXT_EEPROM(long int n, float data) {

   int i;

 

   for (i = 0; i < 4; i++)

     write_ext_eeprom(i + n, *(&data + i) ) ;

}

 

float READ_FLOAT_EXT_EEPROM(long int n) {

   int i;

   float data;

 

   for (i = 0; i < 4; i++)

     *(&data + i) = read_ext_eeprom(i + n);

 

   return(data);

}