Создать тактовый импульс с помощью PythonPython

Программы на Python
Ответить
Anonymous
 Создать тактовый импульс с помощью Python

Сообщение Anonymous »

Я хочу работать со временем сна ровно 20 мс. Когда я использовал time.sleep(0.02), я столкнулся со многими проблемами. Это не работает то, что я хочу. Если бы мне пришлось привести пример;

Код: Выделить всё

import time
i = 0
end = time.time() + 10
while time.time() < end:
i += 1
time.sleep(0.02)
print(i)
Ждем появления «500» в консоли. Но это как «320». Это огромная разница. Потому что время сна не соответствует действительности, и каждый раз во время сна происходят небольшие отклонения. Он кумулятивно увеличивается, и мы видим неправильный результат.
И затем я хочу создать свой новый проект для тактового импульса. Возможно ли это с помощью time.time()?

Код: Выделить всё

import time
first_time = time.time() * 100 #convert seconds to 10 * miliseconds
first_time = int(first_time) #convert integer

first_if = first_time
second_if = first_time + 2 #for sleep 20ms
third_if = first_time + 4 #for sleep 40ms
fourth_if = first_time + 6 #for sleep 60ms
fifth_if = first_time + 8 #for sleep 80ms

end = time.time() + 8
i = 0
while time.time() < end:
now = time.time() * 100 #convert seconds to 10 * miliseconds
now = int(now) #convert integer

if i == 0 and (now == first_if or now > first_if):
print('1_' + str(now))
i = 1
if i == 1 and (now == second_if or now > second_if):
print('2_' + str(now))
i = 2
if  i == 2 and (now == third_if or now > third_if):
print('3_' + str(now))
i = 3
if i == 3 and (now == fourth_if or now > fourth_if):
print('4_' + str(now))
i = 4
if i == 4 and (now == fifth_if or now > fifth_if):
print('5_' + str(now))
break

Out >> 1_163255259009
2_163255259011
3_163255259013
4_163255259015
5_163255259017
Является ли этот проект истинной логикой? И если это истинная логика, как можно завершить эти проекты с настоящими циклами?
Потому что я хочу, чтобы эти сны происходили постоянно. Спасибо за совет.

Подробнее здесь: https://stackoverflow.com/questions/693 ... ith-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»