SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: swingt81 en Martes 12 de Septiembre de 2006, 10:16

Título: Timer Interrupt
Publicado por: swingt81 en Martes 12 de Septiembre de 2006, 10:16
Hola, estoy inetntando cambiar la frequencia del reloj para enviar un archivo wav por el puerto paralelo.
para ello quiero reprogramar el reloj a la frecuancia del archivo wav.
como aun no me han montado el chisme que tengo q conectar al puerto paralelo (es una empresa muy friki), para comprobar si el programa funciona bien, cada vez q llamo a la interrupcion de tiempo incremento una variable. despues en el main, cada vez q esta variable llegue a la frecuencia deseada, imprimo algo por pantalla. en teroia, si se llama a la interrupcion x veces por segundo, se imprimira algo cada segundo....vaya explicacion mas fea. el caso es q se me qeda parado en el while y no imrpime nada. os pongo el codigo a ver si me podeis decir donde esta fallando.  o si se os ocurre algo mejor, pos se aceptan todas las sugerencias.
ah, os lo adjunto como archivo, q si no es un toston.muchas gracias.
Título: Re: Timer Interrupt
Publicado por: Eternal Idol en Martes 12 de Septiembre de 2006, 10:46
Espero que esto solo lo quieras hacer funcionar en 9x ... el codigo es un poquito "crudo" para mi gusto ...

Código: Text
  1.  
  2.   while(1){
  3.         while (  tics<fs_hz ){;}
  4.          
  5.           printf("\t\tNumero de tics: %d\n",tics);
  6.          
  7.           //AQUI ES DONDE CREO Q DEBERIA VENIR LA RUTINA "SendData()" CUANDO PODAMOS
  8.           //OBTENER LA VELOCIDAD NECESARIA DEL TIMER
  9.           tics=0;      
  10.      }      
  11.  
  12.  

Si fs_hz es mayor a cero jamas llegara al printf para empezar. Despues si fs_hz es cero nunca saldra del primer while ya que este es infinito y no tiene ninguna comprobacion ...

Tal vez esto se parezca mas a lo que necesitas:
Código: Text
  1.  
  2. while (tics < fs_hz)
  3. {
  4.   printf("\t\tNumero de tics: %d\n",tics);
  5.   tics++;       //dijiste "cada vez q llamo a la interrupcion de tiempo incremento una variable", hagamoslo asi esto termina alguna vez.
  6.   }      
  7.  
  8.