1
여기 내 코드입니다 : 나는 내 명령을 실행하는 데 걸리는 정확히 얼마나 알고루프가 활성화되어있는 동안 타이머가 실행 중입니까?
setTimer(delay, (SEEDKEY_MAXTRY * SEEDKEY_FREQ) + (LOGIN_MAXTRY * LOGIN_FREQ));
do {
// waits, until all operations have been executed;
} while(isTimerActive(delay));
, 그래서 명시 적 값으로 타이머 delay
을 설정합니다. 내가 값을 돌려 줄 때까지 기다려야 해.
이 시점에서 시뮬레이션이 멈추었습니다. 패널이 Windows- "응답 없음"으로 들어가고 시뮬레이션을 끝낼 수있는 유일한 방법은 Taskmanager를 사용하는 것입니다.
나는 do ... while
진술을하는 동안 타이머에 더 많은 시간이 필요하거나 전혀 실행되지 않는다고 생각합니다. (같은 동안 {})
누가 내 생각에 문제를 확인하거나 내 문제를 해결해 줄 수 있습니까?
CAPL을 모르지만 대부분의 다른 언어 타이머는 흐름 제어와 독립적입니다. –
CAPL에서도 마찬가지 여야하지만 루프 때문에 제대로 작동하지 않으므로 다른 방식으로 수행했습니다. 누군가 위의 코드에서 다른 오류를 발견하지 못한다면, CAPL은 타이머를 사용하여 계산 된 결과에 의존하는 루프를 사용하여 다소 버그가있을 수 있다고 생각합니다. –