Не выполнять другую часть скейтча пока не выполняется оператор if

Тема в разделе "Arduino & Shields", создана пользователем aptem, 22 окт 2016.

  1. aptem

    aptem Нуб

    до этого была команда включить электродвигатель
    и в ходе его работы он сделает (lin3) == LOW и (lin2) == HIGH , но для этого нужно не определенное время (всегда разное) и если считывание скейтча пойдет по второму кругу, а этот оператор if будет не выполнен будет печально =)
    if (digitalRead(lin3) == LOW && digitalRead(lin2) == HIGH) {
    digitalWrite(kol_l, LOW);
    digitalWrite(kol_r, LOW);
    Буду рад вашей помощи =)
     
  2. qwone

    qwone Гик

    Что-то это мне напоминает: " Помогите прилепить запалатку на борт моей кривосклепаной яхты, а то вода проникает туда, где ее не должно быть, а там где она должна быть, ее нет.Воды разумеется" В структуре правильно собраной программы такого вопроса в принципе не должно быть. А вот если лепть неизвестно из чего, то это будет бег по минам.
    ПС: Что за дибилизм писать LOW и HIGH. Пишите 0 и 1. Короче и проще.
    ПС Это лучше заменить на это if (digitalRead(lin3) == LOW && digitalRead(lin2) == HIGH)
    if (! digitalRead(lin3) && digitalRead(lin2))
     
  3. rkit

    rkit Гуру

    Очень плохо сформулировал, чего тебе надо. Попробуй еще раз.
     
  4. ostrov

    ostrov Гуру

    Кстати да, правильное ТЗ - половина победы.

    А вообще, для случая "пока что то там не выполнится дальше не едем" есть оператор while().