|
Sleep 함수는 그닥 정확하게 동작하지 않습니다. Sleep(40)은 '40msec를 쉬어라'는 얘기가 아니고 '최소한 40msec는 쉬어라' 라는 의미입니다.
정확한 타이밍이 필요하시다면 HighPerformanceCounter를 이용하세요.
QueryPerformanceFrequency
QueryPerformanceCounter
이 두 함수를 이용하시면 될겁니다. 자세한건 MSDN 문서를 참조하세요.
초보자 님이 쓰신 글 :
: 고수님들 문의 드립니다,
: 제가 어떤 제품하고 통신을 하는데 Wakeup Pattern을 만들어줘여 합니다.
:
: Timming으로는 40ms Low후 10ms High로 주고 통신 Command를 주어야 Response가 오는데
: 제가
: ComPort->SetBreak(true);
: Sleep(40);
: ComPort->SetBreak(false);
: Sleep(10);
: ComPort->Write(a,10);
: 이렇게 하였는데
: 실제로 오실로스코프로 찍어보니 Low가 47ms이고 High가 10정도 나오네요..
: 어떻게 40ms(L) -> 10ms(H)로 맞추는 방법이 없는가요??
|