正在运行的定时器,while循环,也活跃?(Are timers running, while lo

2019-09-26 06:13发布

这里是我的代码:

setTimer(delay, (SEEDKEY_MAXTRY * SEEDKEY_FREQ) + (LOGIN_MAXTRY * LOGIN_FREQ));
do {
    // waits, until all operations have been executed;  
} while(isTimerActive(delay));

我知道这需要究竟有多长来执行我的命令,所以我设置计时器delay为显式值。 我不得不等待,直到我返回一些值。

此时的模拟stucks,我的面板进入Windows的“无答复”,我可以结束仿真的唯一方法是通过任务管理器。

我认为唯一的解释是,该定时器需要更多的时间,或不执行所有,而我在do ... while声明。 (用相同而{})

有人可以证实这个想法,或证明我是错的给我解决我的问题?

Answer 1:

好吧,我总能找到一个解决办法,因为CAPL是不太受欢迎的计算器...


对于读者来说,是想知道如何:

我只是用一个全局状态变量从直到我处理完被执行的动作限制用户。



文章来源: Are timers running, while loops are active?
标签: capl canoe