@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)


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

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

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час
29 мар. 2024, в 09:55
50000 руб./за проект