TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: MasterD en 11 de Mayo de 2004, 05:22:00
-
struct
{
int1 x;
int1 y;
int1 z;
int1 w;
} total;
La pregunta es como puedo visualizar o leer todo el contenido
de la 4 variables individuales la cual se supone que se almaceno
en "total"
Los ejemplos que he visto solo utilizan la estructuras para asignación de un puerto, me gustaria ver un ejemplo que se
utilicen con variables.
-
Hola Master
La única forma que se me ocurre es visualizar cada miembro de la estructura individualmente:
1º defines una variable de tipo total
struct total var1; //variable var1 del tipo total
y luego una posible solución para leer los miembros puede ser esta, asignando los miembros a unas variables que despues vas a leer.
variable_a_leer1=var1.x;
variable_a_leer2=var1.y;
variable_a_leer3=var1.z;
variable_a_leer4=var1.w;
luego lees cada variable y ves el valor de cada miembro de la esctructura.
Tambien es posible leer los miembros de las estructuras sin asignarlos a variables, directamente con el operador punto, lo que pasa es que puse lo de las variables como ejemplo.
No se si es esto a lo que te referías, si no es así, pide algo mas concreto a ver si podemos ayudarte.
Saludos.
PD: Se me olvidaba, segun tienes definida la estructura, no te funcionara, te falta el typedef.
typedef struct
{
int1 x;
int1 y;
int1 z;
int1 w;
}total;
total var1; //variable de tipo total
struct total
{
int1 x;
int1 y;
int1 z;
int1 w;
};
struct total var1; //variable de tipo total
O la defines de una forma o de otra, en cualquier caso las dos es lo mismo.
-
Como pides un ejmplo, he hecho este muy sencillito, consiste en asignar a los miembros un valor y realizar una and y asignarle el resultado a otro miembro. Es muy sencillito.
Código
#include <16F876.h>
#use delay(clock=4000000)
#include <lcd.c>
struct total
{
int1 x;
int1 y;
int1 z;
int1 w;
};
void main(void)
{
struct total var1;
lcd_init();
var1.x=1;
var1.y=1;
var1.z=var1.x & var1.y; //operacion logica AND de los dos bits
lcd_gotoxy(1,1);
printf(lcd_putc,"%i",var1.z);
}