Hola!
Tengo un problema a la hora de generar un sonido con el PIC16F88. Los sonidos he conseguido que se reproduzcan perfectamente pero no consigo que esten el tiempo que se le indique.
He visto que no calcula bien una division pongas el numero que le pongas.
Estoy programando en C con CCS.
No se que estoy haciendo mal, esta es la funcion para generar sonidos:
Tengo un problema a la hora de generar un sonido con el PIC16F88. Los sonidos he conseguido que se reproduzcan perfectamente pero no consigo que esten el tiempo que se le indique.
He visto que no calcula bien una division pongas el numero que le pongas.
Estoy programando en C con CCS.
No se que estoy haciendo mal, esta es la funcion para generar sonidos:
Código:
void play(int8 nota, int8 octava, int16 tiempo){ /*Tiempo en "ms"*/
int16 i;
int16 espera; /*En "us"*/
int16 vueltas;
espera=FreqNota[nota];
espera>>=(octava); /*Desplazamiento a la derecha (lo mismo que 1/2)*/
vueltas=tiempo*1000; /*Para pasar el tiempo a microsegundos*/
[COLOR="Red"]vueltas=vueltas/(espera*2);[/COLOR] /*(esta cuenta no la hace bien )Para ver cuantas vueltas tiene que dar*/
for(i=0; i< vueltas; i++){
output_high(Altavoz);
delay_us(espera);
output_low(Altavoz);
delay_us(espera);
}
}