안녕하세요..
Can 통신(Kvaser나 AD Link PCI 카드 사용)과 시리얼 통신(com1)을 동시에 실행하려고 합니다.
Can 통신은 10ms 전송하고요..
타이머 사용시 10ms는 아니고 15ms 정도 되는거 같애요. 그래서 while문을 쓰고 GetTickCount 함수 사용하려고합니다.
Can 통신 위주로 시리얼 통신은 한 1초마다 전송하려고 합니다.
그런데 GetTickCount 를 써도 10ms를 맞추기 힘드네요.
해결할 방법이 있는지 좀 알려주세요.
그리고 두 통신을 동시에 할 수 있는 방법도 알려주세요.
실제적으로 실험해보면 약 5~6ms 오락가락 합니다. 마찬가지로 GetTickCount(5~6ms 주기로 뜀)도
보장되지 않습니다.
방법은 아래에서 최용일님께서 답변하였듯이 QueryPerformanceFrequency/QueryPerformanceCount
이것으로 대용하거나.. 멀티미디어 타이머를 사용해보세요
QueryPerformanceFrequency는 강의실또는 팁에 나와 있고요
밀티미디어 타이머는 데브피아에 자세히 나와있습니다.. 그럼이만...
첨부 여기 강의실에 다 있네요 ^^
있으므로 참조 하시고요