TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Carlos2302 en 16 de Diciembre de 2019, 18:25:03

Título: Se puede pasar una variable de struct como argumento de una funcion.
Publicado por: Carlos2302 en 16 de Diciembre de 2019, 18:25:03
Hola muchach@s, espero que esten bien, bueno me gustaria saber eso si se puede pasar una variable de una struct a una funcion, de antemano muchas gracias a todos.
Título: Re:Se puede pasar una variable de struct como argumento de una funcion.
Publicado por: Picuino en 16 de Diciembre de 2019, 18:31:21
Si se puede, pero si la estructura es grande, es mejor pasar un puntero a la estructura.

Un saludo.
Título: Re:Se puede pasar una variable de struct como argumento de una funcion.
Publicado por: Carlos2302 en 16 de Diciembre de 2019, 23:45:54
Me dejaste en la misma Picuino, es una struct con tres bytes de una direccion de eeprom de 1 MegaBits. Estoy realizando una prueba con esa memoria la 23LC1024. Ya logre escribir y leer en ella pero hice una sctruct y no logro saber como pasarle la struct como direccion de memoria, me toca que crear un int32 y copiar una variable de la struct y asi es como he hecho.
Título: Re:Se puede pasar una variable de struct como argumento de una funcion.
Publicado por: Picuino en 17 de Diciembre de 2019, 03:25:05
Crea un nuevo tipo de datos con typedef struct y lo utilizas como un tipo de datos más.
Título: Re:Se puede pasar una variable de struct como argumento de una funcion.
Publicado por: Picuino en 17 de Diciembre de 2019, 07:47:19
Por ejemplo:

Código: C
  1. typedef struct {
  2.    unsigned int lo;
  3.    unsigned char hi;
  4. } eeprom_addr;
  5.  
  6.  
  7. void eeprom_write(eeprom_addr ea, unsigned char data) {
  8.    // Código
  9.    return;
  10. }
  11.  
  12.  
  13. main() {
  14.    eeprom_addr ea;
  15.    ea.lo = 0xA567;
  16.    ea.hi = 0x2F;
  17.    eeprom_write(ea, 0xB5);
  18. }