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 ?
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
{
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: