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 :)
Puedes hacer un bucle infinito y con la hora del sistema comprobar el intervalo.
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
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!
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.
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!
No conozco mucho de ASM, supongo que habrá algún truco... googlea a ver que encuentras...
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
Utiliza un "NE555N", para hacer un timer....... :o, bromeaba no se como hacerlo, tal vez, usando el clock del procesador en el que estas ??
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
Pues cuando haces instrucciones en "C", y demás cosas en se están programando instrucciones para el micro, no cres..
Si quieres hacerlo en el nivel mas básico tienes que hacerlo en, Asm.
Recomiendo que antes que vayas hacer algo con tu micro, busca el "datasheet" de este