El mar., 21 mar. 2017 a las 14:04, Rolando Paz (<flx...@gmail.com>) escribió:
> Hola Ricardo > > Gracias por tu correo. > > De que otra forma se podria realizar esto? > Otro lenguaje de programación? > Más importante que el lenguaje de programación sería la plataforma usada. Para tener un control muy preciso de tiempos habría que usar sistemas de tiempo real como RT-Linux. En cuanto a lenguajes de programación, se usa C o ensamblador, aunque es posible usar rust e incluso una versión de python modificada, micropython.org, que funciona en su propio hardware, pyboard. En cualquier caso, los sistemas operativos modernos tienen en cuenta las interrupciones a la hora de calcular el tiempo real transcurrido. En lugar de controlar tú mismo los tiempos de ejecución, delega en el sistema operativo. Por ejemplo, creando un hilo que se ejecute a intérvalos fijos. Pero me parece que lo que tienes entre manos es más un ejercicio teórico y que nada importan las tolerancias en los tiempos de ejecución. > > Saludos > > > El 21 de marzo de 2017, 0:48, Ricardo Cárdenes <ricardo.carde...@gmail.com > > escribió: > > Hola Rolando, > > Antes de corregirte el código... ¿Estás seguro de que quieres usar Python > para esto? Si la tolerancia que tienes para los tiempos es grande, ok, pero > si no, te recomendaría que usases otra cosa. Y sobre todo, no usar > time.sleep, claro. Con eso puedes acumular unos retrasos enormes en el > código. > > Saludos, > Ricardo > > 2017-03-20 18:05 GMT-10:00 Rolando Paz <flx...@gmail.com>: > > Hola a todos de nuevo... > > Ahora regreso con un pequeño código: > > import time > > start_time = time.time() > #tiempo total en segundos, como ejemplo 10. > tiempo_total = 10 > #numero de conmutaciones generadas, como ejemplo 4. > conmutaciones = 4 > for offset in range(tiempo_total): > while (time.time() - start_time) < offset: > time.sleep(0.01) > #lo siguiente realiza una conmutacion entre 0 y 1. > count = 0 > for i in range(conmutaciones): > count = (count + 1) % 2 > print count > > Lo que hace este código es conmutar entre 0 y 1, tantas veces como se > defina en "conmutaciones", durante el tiempo establecido en "tiempo_total". > > La salida es la siguiente. > > 0 > 1 > 0 > 1 > > Estoy tratando de entender cómo usar este código para controlar los > tiempos que se definen en la imagen adjunta, es decir: > > T1 = tiempo durante el cual la conmutacion es 1 > T0 = tiempo durante el cual la conmutacion es 0 > Tiempo Total = tiempo total de las conmutaciones > > Agradecería cualquier comentario sobre como poder controlar los tiempos > anteriores. > > Saludos y gracias > > Rolando P. > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://blog.ch3m4.org <http://ch3m4.org/blog>
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es