elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Crear un timer desde 0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Crear un timer desde 0  (Leído 6,025 veces)
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Crear un timer desde 0
« en: 23 Octubre 2011, 19:43 pm »

Hola que tal? :) espero que esten genial!

veran,estoy interesado encrear mi propio Timer sin Usar API ni librerias,es decir,desde 0,solo quiero hacerlo pue spara aprender mas y saber si soy capaz de hacerlo por mi solo,puede sonar muy tonto,pero es como un reto para mi,no si me entendeis :S o tambien le pasa a alguien :P,me podrias dar solo alguna idea de como hacerlo? abria que usar ASM? o bastaria y sobraria con C?


muchisimas gracias :)


En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Crear un timer desde 0
« Respuesta #1 en: 24 Octubre 2011, 00:03 am »

Puedes hacer un bucle infinito y con la hora del sistema comprobar el intervalo.


En línea

Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Crear un timer desde 0
« Respuesta #2 en: 24 Octubre 2011, 00:53 am »

Claro,ahora que me fijo por narices tengo que usar librerias no?¿.....para saber la hora necesito time.h....pensava que podia hacer un timer sin usar nada....pero por lo que he invesitgado solo seria posible con ASM.....cierto?¿



gracias
En línea

CeroX901

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Crear un timer desde 0
« Respuesta #3 en: 24 Octubre 2011, 01:58 am »

Con la hora del sistema no es exacto, fíjate que cuando se usa Sleep(...), usas milisegundos, yo lo haría con QueryPerformanceCounter(...), esta función te da un intervalo de alta resolución, este intervalo va aumentando internamente desde el propio hardware (corregidme si me equivoco), cuando vuelves a llamar la funcion te da un número mayor, lo que haces es con un if esperar ese numero de intervalo para terminar el bucle "infinito"... Lo uso bastante para medir los tiempos de un algoritmo, solo sería adaptarlo.

Salud2!
« Última modificación: 24 Octubre 2011, 02:01 am por CeroX901 » En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Crear un timer desde 0
« Respuesta #4 en: 24 Octubre 2011, 02:40 am »

Para usar Sleep o QueryPerformanceCounter que use las funciones para crear timers de la API de Windows, la idea es hacerlo sin salirse las de las librerias estandar.
En línea

Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Crear un timer desde 0
« Respuesta #5 en: 24 Octubre 2011, 10:31 am »

La verdad no conocia la funcion QueryPerfomanceCounter() la Sleep() si,mi intencion era hacer un timer sin usar la Api,pero quizas es algo absurdo no?¿,es que la otra ves se me paso pro la cabeza,como abran echo la api Sleep() (o una igual) ?¿ supongo que en ASM no?¿ en ASM podria hacer el timer sin libreria?¿  en C podemos poner ASM inline,que me dicen? :=)


gracias!
En línea

CeroX901

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Crear un timer desde 0
« Respuesta #6 en: 24 Octubre 2011, 17:52 pm »

No conozco mucho de ASM, supongo que habrá algún truco... googlea a ver que encuentras...
En línea

Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Crear un timer desde 0
« Respuesta #7 en: 24 Octubre 2011, 18:23 pm »

Hola,bueno ya e googleado un poco batsante xd claro hay una interrupcion (15h) para hacer el timer,lo que pasa que ya se sabe que los programas de 32 bits corren a modo protegido por lo que no es permitido usar interrupciones.....asi que me parece ami xd que abra que pasar por la Apicilla xxdxd


saludos
En línea

<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Crear un timer desde 0
« Respuesta #8 en: 25 Octubre 2011, 11:19 am »

Utiliza un "NE555N", para hacer un timer.......  :o, bromeaba no se como hacerlo, tal vez, usando el clock del procesador en el que estas ??
En línea

<<<--Basura-->>>
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Crear un timer desde 0
« Respuesta #9 en: 25 Octubre 2011, 15:03 pm »

Buena idea,claro de echo es lo logico,pero no creo que pueda en C no?¿ popr eso preguntava si tenia que usar ASM por cuando se trata de trabajar con hardware directamente.....


saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines