-
- Пойдём от противного. Напишите код, как ожидать два события одновременно. Если WAIT позволяет что-то одно. Написать цикл с проверкой всех событий и таймером, чтоб не сожрать 146% CPU? А линейность возникает автоматически в силу невозможности fk0(155 знак., 10.12.2013 01:53)
- не вижу препятствий почему нельзя написать PT_WAIT_UNTIL(pt, ((val1==1)||(val2==2))). - zeleny(10.12.2013 02:04)
- Можно. Только потом придётся ещё раз написать эти условия поодиночке: if (....), if (...) и не забыть записать то же самое в PT_WAIT... -- пришли к тому же автоматному программированию, но любая мелкая ошибка теперь доставляет массу часов отладки. - fk0(10.12.2013 02:34)
- и что ? на большинстве контроллеров проверка - меньше микросекунды. - zeleny(10.12.2013 02:47)
- И то, что сверху можно написать одно, а ниже другое. И получить замечательный глюкодром. Классика жанра: не храни одну вещь в двух переменных (не записывай одно условие два раза подряд). - fk0(10.12.2013 02:48)
- И главный вопрос тут: и зачем? Если в switch-технологии те же самые условия точно также записываются, но один раз (PT_WAIT... просто не записывается, т.к. не нужен). - fk0(10.12.2013 02:49)
- напр.можно так: zeleny(177 знак., 10.12.2013 03:12)
- пример волшебного switch-кода можно ? как подождать и обработать 2 условия. - zeleny(10.12.2013 02:58)
- "Подождать" -- это третье условие: fk0(383 знак., 10.12.2013 10:07)
- И главный вопрос тут: и зачем? Если в switch-технологии те же самые условия точно также записываются, но один раз (PT_WAIT... просто не записывается, т.к. не нужен). - fk0(10.12.2013 02:49)
- И то, что сверху можно написать одно, а ниже другое. И получить замечательный глюкодром. Классика жанра: не храни одну вещь в двух переменных (не записывай одно условие два раза подряд). - fk0(10.12.2013 02:48)
- и что ? на большинстве контроллеров проверка - меньше микросекунды. - zeleny(10.12.2013 02:47)
- Можно. Только потом придётся ещё раз написать эти условия поодиночке: if (....), if (...) и не забыть записать то же самое в PT_WAIT... -- пришли к тому же автоматному программированию, но любая мелкая ошибка теперь доставляет массу часов отладки. - fk0(10.12.2013 02:34)
- не вижу препятствий почему нельзя написать PT_WAIT_UNTIL(pt, ((val1==1)||(val2==2))). - zeleny(10.12.2013 02:04)
- Пойдём от противного. Напишите код, как ожидать два события одновременно. Если WAIT позволяет что-то одно. Написать цикл с проверкой всех событий и таймером, чтоб не сожрать 146% CPU? А линейность возникает автоматически в силу невозможности fk0(155 знак., 10.12.2013 01:53)