Variables automáticas, son aquellas variables que
mantienen su valor durante la ejecución del código de la función en la que han
sido creadas, cuando termina la función los valores de estas variables se
pierden. Estas variables son creadas por defecto sin la necesidad de usar la
palabra reservada auto. Ejemplo.
unsigned short variable;
Variables estáticas, son aquellas variables que mantienes
su valor durante y después de que se ejecute el código de la función en la que
fueron creadas, esto significa que después de que la función termina esta
variable sigue conservando su valor. Para declararla es necesario usar la
palabra reservada static. Cuando se
crea una variable de tipo estática esta empieza con el valor cero por defecto. Ejemplo.
static unsigned short variable;
Ejemplo 1.
unsigned short motor_paso()
{
const char motor_p_simple[]={1,2,4,8};
//constante local
static unsigned short paso;
//variable
local estática
return motor_p_simple[(paso++)&0x03];
}
void leer_temperatura()
{
unsigned short temperatura;
//variable local automática
char display_txt[4];
//variable vector local
automática
temperatura=(5.0/1024.0)*(100.0)*adc_read(0);//ajuste de escala para el
lm35
if(temperatura>99){temperatura=99;}
bytetostr(temperatura,display_txt);
portb=((display_txt[2]&(0x0f))<<4)|(display_txt[1]&0x0f);
}
void main()
{
portd=0;portb=0;
trisd=0;trisb=0;
while(1)
{
leer_temperatura();
portd=motor_paso();
delay_ms(100);
}
}
No hay comentarios.:
Publicar un comentario