@20strannik08

Как в python(2.7) параллельно выполнить циклы?

Пытаюсь освоить python. Всю голову переломал...На raspberry pi 3 стоит python 2.7, пытаюсь запустить одновременно два шаговых двигателя.

Есть такая конструкция:
step_timeout = 0.0000000001
impulse_timeout =0.00075

for i in range(0,850):
    GPIO.output(19, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(19, GPIO.LOW)
    time.sleep(step_timeout)

    GPIO.output(13, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(13, GPIO.LOW)
    time.sleep(step_timeout)

    GPIO.output(6, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(6, GPIO.LOW)
    time.sleep(step_timeout)

    GPIO.output(5, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(5, GPIO.LOW)
    time.sleep(step_timeout)


И еще есть вот такая конструкция:

step_timeout = 0.002
impulse_timeout =0.001

for i in range(0,800):
    GPIO.output(12, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(12, GPIO.LOW)
    time.sleep(step_timeout)

    GPIO.output(16, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(16, GPIO.LOW)
    time.sleep(step_timeout)

    GPIO.output(20, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(20, GPIO.LOW)
    time.sleep(step_timeout)

    GPIO.output(21, GPIO.HIGH)
    time.sleep(impulse_timeout)
    GPIO.output(21, GPIO.LOW)
    time.sleep(step_timeout)


Как заставить эти два цикла выполнятся одновременно?
  • Вопрос задан
  • 523 просмотра
Пригласить эксперта
Ответы на вопрос 2
вам надо ассинхронные задачки писать на asyncio
Ответ написан
Fox_Alex
@Fox_Alex
Инженер электронщик
Сделать один быстрый цикл, который будет решать кому и когда дергаться. О sleep забыть вообще и вместо него сделать счетчики итераций цикла.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы