El programa duerme durante 0.01 segundo e imprime (en rápida sucesión) 0 1 0 1. Y repite esa secuencia durante 10 segundos. No parece ser lo que Rolando quiere hacer.
Y da igual que estés leyendo el reloj hardware, -que depende de muchos factores, como el sistema operativo, pero no tiene por qué,- el resto del programa añade retrasos que posiblemente no sean deseables en una aplicación como esta. 2017-03-22 21:39 GMT-10:00 Narcis Garcia <informat...@actiu.net>: > No entiendo el porqué el primer código fuente propuesto no debe > funcionar, ya que se supone que la lectura de tiempo es del reloj de > hardware. > > > El 23/03/17 a les 03:05, Ricardo Cárdenes ha escrit: > > Hola Rolando, > > > > Creo que es lo mejor para lo que estás haciendo. Si lo quieres hacer > > programable, busca algún microcontrolador. Un simple Arduino te basta > > para una tarea como esta. > > > > 2017-03-22 5:42 GMT-10:00 Rolando Paz <flx...@gmail.com > > <mailto:flx...@gmail.com>>: > > > > Hola a todos. > > > > En efecto Ricardo lo que necesito hacer es controlar los tiempos T0 > > y T1. > > > > La acción para pruebas fue imprimir los valores 0 y 1, sin embargo, > > de acuerdo al hardware que estoy programando, estos valores 0 y 1 > > los debo ajustar dentro de un registro de software que habilita o > > deshabilita la generación de una señal senoidal. > > > > Sin embargo, luego de buscar varias formas de hacerlo con software, > > creo que lo más facil sera hacerlo con hardware. Con algun generador > > de señales :) > > > > > > > > > > El 21 de marzo de 2017, 22:30, Ricardo Cárdenes > > <ricardo.carde...@gmail.com <mailto:ricardo.carde...@gmail.com>> > > escribió: > > > > Según la presentación del problema, es un ciclo de: "imprimir > > 0", "esperar T0 segundos", "imprimir 1", "esperar T1 segundos" > > > > 2017-03-21 10:07 GMT-10:00 Carlos Zuniga <carlos....@gmail.com > > <mailto:carlos....@gmail.com>>: > > > > 2017-03-20 23:05 GMT-05:00 Rolando Paz <flx...@gmail.com > > <mailto: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. > > > > > > > Tu intención es que espere un tiempo tras cada print de 0 o > > 1? o que > > imprima 0/1 4 veces y luego esperar? > > > > import time > > from itertools import cycle > > conmutador = cycle((0,1)) > > > > tiempo_total = 10 > > conmutaciones = 4 > > > > start = time.time() > > end = start + tiempo_total > > time_per_pulse = tiempo_total / conmutaciones > > while end > time.time(): > > pulse_start = time.time() > > print(next(conmutador)) > > pulse_end = time.time() > > time.sleep(time_per_pulse - (pulse_end - > pulse_start)) > > > > > > Ahora, time.sleep no es exacto, el tiempo va a ser > > normalmente mayor > > al que especificas, depende del sistema. También hay > > threading.Event.wait que puede ser más exacto. > > > > > > Saludos > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org <mailto:Python-es@python.org> > > https://mail.python.org/mailman/listinfo/python-es > > <https://mail.python.org/mailman/listinfo/python-es> > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org <mailto:Python-es@python.org> > > https://mail.python.org/mailman/listinfo/python-es > > <https://mail.python.org/mailman/listinfo/python-es> > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org <mailto:Python-es@python.org> > > https://mail.python.org/mailman/listinfo/python-es > > <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 >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es