Quote Originally Posted by sayzer View Post
Once In_STB = 0 then you might have had half a second passed not a full second.

Or, if a full second is passed and you are in DataDone, then you might still have had In_STB = 1; then you come back immediately (possibly).

Or, having a timer module running inside a WHILE statement will keep you and your Timer module locked in that WHILE statement. Thus, having a "PAUSE 1000" will do the same job for you cause the statement is locked anyway.

--------------------------
You could check 'Pause 1' for 1000 counts...that'll only lock up the program for 1 ms at a time, and end up giving a timeout of a bit over 1 second.