TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: zer0007 en 23 de Junio de 2005, 03:29:00
-
Hay alguna manera de usar una variable de un modulo dentro de otro (declararla en uno pero poder usarla en el main.
Gracias
-
Si es posible solo tienes que declararla en el modulo como haces normalmente y en el otro modulo la declaras como extern, para que puedas tener acceso a ella. Por ejemplo si tienes en modulo.c una variable declarada asi: char mivariable; en el main.c tendrias que poner extern char mivariable; y con eso tendrias acceso a la variable declarada en el modulo.c.
Un saludo.
-
Muchas gracias
-
Tambien podes declarar una variable afuera de cualquier funcion, y esta pasara a ser una variable global, es decir la misma para cualquier funcion que la use.
por ejemplo:
#include <16F84a.h>
#use delay(clock=10000000)
#fuses XT,NOWDT
long ppr;
long contador; //estas son variables GLOBALES
void tirar_pulso(void)
{
output_bit (pin_A0,1);
delay_ms (100);
output_bit (pin_A0,0);
}
#int_ext
void contar_pulsos()
{
if (input(pin_a2)) contador++;
output_bit (pin_b1,!input(pin_a2));
output_bit (pin_b2,input(pin_a2));
}
void main()
{
//setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
ext_int_edge( L_TO_H );
enable_interrupts(INT_ext);
enable_interrupts(GLOBAL);
ppr = 370;
contador = 0;
while (true)
if (contador >= ppr)
{
contador = 0;
tirar_pulso();
}
}
-
Yo uso por ejemplo para los "for", la variable contador, digamos "i" de manera global, asi se ahorra memoria al poder usarlas en todas las funciones, o eso creo no?