Абсолютно бессмысленный фрагмент. Переменная Wtime это счетчик цикла. Она увеличивается автоматически. Увеличивать её еще на единицу внутри цикла зачем? Но это еще не все.
Как будет изменяться переменная Wtime:
Первая итерация цикла = 1, добавление 1 внутри цикла (Incr Wtime) = 2
Вторая итерация цикла = 3, добавление 1 внутри цикла = 4
Я уж не говорю о таком правиле, что без крайней необходимости настоятельно не рекомендуется принудительно изменять величину счетчика цикла внутри самого цикла. Вот как себя поведет компилятор? В цикле явно задано условие окончания цикла при Wtime равном трем. А ведь по факту она или меньше, или больше. Но равенства не будет. Будем надеяться, что компилятор сообразит проверить на больше/равно. Если нет, то результат работы не предсказуем.
Следующий оператор:
If Wtime = 3 Then 'время ожидания второго нажатия
Вопрос № раз: в каком месте это ожидание?
Если посмотреть даташит на МК и узнать, сколько циклов процессора выполняетя цикл for + Incr можно посчитать время выполнения всего этого ожидания. Будут это микросекунды.
Кроме того, переменная Wtime значения 3 никогда не достигнет по выходу из цикла. Она всегда будет четной. И данном фрагменте будет = 4(будем надеяться).
Вопрос № два раза: кроме обнуления переменной Wtime она нигде больше не упоминается. На хрена она вообще нужна?
По выходу из цикла она равна 4, условие на равенство трем не выполняется. Стало быть, светодиод всегда выключен.


