FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con funcion Delay
Que tal amigos estoy intentando hacer una rutina del tipo:
void Delay(int time) { for (int i=1; i<=time;i++); } Estuve haciendo pruebas con QueryPerformanceCounter(), pero vi que se consume muchos ciclos de cpu... asi que estoy viendo la posibilidad de usar WaitForSingleObject... sin embargo aun no consigo un ejemplo completo que funcione en Builder c++ 6... Si alguien me echara unos "bytes" con esto estaría muy agradecido... Un saludo |
#2
|
||||
|
||||
Cita:
Para reemplazar equivalentemente a ese codigo tenes la funcion Sleep: Código:
{ ::Sleep(n); // n: DWORD (ms) } Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Hola ecfisa,
Lamento haberme ido "al punto" sin explicar mucho el problema... el retardo lo quiero para generar una secuencia de pulsos por puerto paralelo para un motor del tipo "stepper"; estuve probando con la funcion Delay que puse en el anterior mensaje, pero me di cuenta que no es muy precisa; Luego pase por usar QueryPerformanceCounter() de la siguiente manera: Código:
LARGE_INTEGER pcFreq; //ENTERO_LARGO de muchos bits.. :D QueryPerformanceFrequency(&pcFreq); //captura la frecuencia de la CPU int MicroSec=(pcFreq.QuadPart/1000)*1.3;// 1.3 Microsegundos void TForm1::miDelay(int MicroSec) { LARGE_INTEGER freqIni; //Variable frecuencia inicial LARGE_INTEGER freqFin; //Variable frecuencia final QueryPerformanceCounter(&freqFin); //Captura Frecuencia Actual freqIni=freqFin; //Igualando Frecuencia Inicial y final while(freqIni.QuadPart/1000<freqFin.QuadPart/1000+MicroSec) //While consume mucho CPU QueryPerformanceCounter(&freqIni); } Lo de la función Sleep, ya la habia probado pero tiene tambien el problema de no ser tan precisa para mover motores stepper... Fue por eso que me habia planteado como una opción la posibilidad de usar WaitForSingleObject(), que hasta donde entiendo puede generar un retardo sin consumir tantos ciclos de cpu... pero aun no encuentro un ejemplo claro de como usarlo.. PD: El motor stepper requiere aún pulsos por debajo del 1 milisegundo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
delay con WinSock | chelox | Internet | 0 | 24-07-2010 06:46:36 |
Sleep/delay? | nena_yei | OOP | 6 | 22-07-2010 16:41:47 |
2 WebBrowser y 1 delay ayuda please | miguel_fr | Internet | 4 | 03-07-2010 05:00:36 |
Delay al conectarse con el sevidor MySQL | golf2008 | MySQL | 2 | 05-02-2009 01:22:22 |
Delay de Pascal | Esau | OOP | 4 | 28-08-2003 21:32:11 |
|