pregunta de pics

hice un pequeno programa con un pic estoy usando una for pero se lo modifico de 100 a 500 o 1000 y no quiere alguna razon? aqui les pongo el programa abajo es muy sencillo


while(1)
{
voltaje_sum=0.0;
for(i=0;i<100;i++) a este for le pongo 500 o 1000 y ya no me jala :( alguien sabe porque ahy un maximo para el for gracias
{

set_adc_channel(0);
delay_us(200);
v = read_adc();
voltaje_sum =voltaje_sum + (v*5.0)/1024.0; //1024 serian 5 volts y 0 serian 0 volts es una regla de tres para calcular el voltaje
}
voltaje = voltaje_sum / 100.0; tambien le modifico este para que me de el promedio

if(voltaje<2.80){output_high(pin_a5);} //VALOR MINIMO
if(voltaje>3.05){output_low(pin_a5);} //VALOR MAXIMO
delay_ms(5000); //ESPERAR CINCO SEGUNDOS

}

creo que ya vi mas que todo cual es el problema con mi medior de voltaje creo que estoy midiendo un poco mas de una onda y eso me esta causando que no se exacto mis mediciones alguien sabe como debo configurar el delay para que se exacto a un ciclo de una frecuencia de 60 hz 166.666 ms? o ahy que restar las ejecucion ?
 
Última edición:
for(i=0;i<100;i++) a este for le pongo 500 o 1000 y ya no me jala :( alguien sabe porque ahy un maximo para el for gracias
¿que tipo de variable es i? si es int solo podra ir hasta 255; si es int16 podra ir hasta 1023; revisa como esta declarado i y encontraras el error
 
No exactamente:
si la variable "i" es un tipo de 8bits sin signo va de 0 a 255
si la variable "i" es un tipo de 16bits sin signo va de 0 a 65535...
y como dijo "jairo cuero" asegura te de usar el tipo respectivo para tu variable ya sea char, int, long, float, etc...
 
No exactamente:
si la variable "i" es un tipo de 8bits sin signo va de 0 a 255
si la variable "i" es un tipo de 16bits sin signo va de 0 a 65535...
tienes razon no habia caido en cuenta 2^16=65536; lo importante es que le haya servido la informacion para encontrar el error
 
Atrás
Arriba