처리할 때마다 시간을 찍어보면 되지 않을까요?
gettimeofday() 같은 함수를 사용해서요. 인터넷에 예제가 많이 나와 있습니다.
또 어떤 툴을 사용하시는지 모르겠지만 대부분 signal, semaphore, pipe 등의 기능은 있을 테니 한번 검색해 보세요.
님이 쓰신 글 :
: 라스코니님 답변 감사합니다.
:
: 사실 저부분에 함수가 있는게 아니라
:
: Tx 커맨드만 온 되는데
:
: 그래도 딜레이가 생기긴 하겠죠??
:
: 혹시 디버깅으로 얼마나 걸리는지 확인할수 있는 방법은 없을까요??
:
: 초보라 세마포 파이프는 제가 아직 뭔지 잘 모르겠네요 ㅠㅠ
:
:
: 라스코니 님이 쓰신 글 :
: : 참고로
: :
: : 타이머 콜백 함수내에서 grid() 함수를 호출하게 되면 타이머 콜백 함수가 제때 끝마쳐지지 않기 때문에 정확한 시간을 제어하기가 어렵습니다.
: : 예를 들어 grid() 함수 처리에 200 ms가 걸린다면 200 번에 해당하는 콜백함수는 어떻게 되는 걸까요?
: : 만약 제때 콜백함수가 처리가 되지 못한다면 1.2초 1.5초 만에 grid 함수가 실행되겠죠.
: :
: : 별도의 grid() 처리 쓰레드를 만들고 세마포, 파이프 등으로 데이터/신호를 받아 처리하도록 하셔야 합니다.
: :
: :
: : 이지형 님이 쓰신 글 :
: : : 안녕하세요. C빌더6을 사용하고 있는 왕초보 입니다.
: : :
: : : 지금 장비에서 데이터를 받아서
: : :
: : : 1초마다 그리드에 표시하는 프로그램을 작성중입니다.
: : :
: : : 그래서 1초를 만들어야 하는데
: : :
: : : 타이머를 사용하여 interval을 1로 주고
: : :
: : : 타이머 함수에서
: : :
: : : time++;
: : : if (time>1000)
: : : {
: : : grid(); //데이터를 그리드에 표시하는 함수
: : : time = 0;
: : : }
: : :
: : : 이런식으로 하는데 1초가 훠어어얼씬 넘는거 같아요..
: : :
: : : interval을 1로 하면 1ms로 알고 있었는데
: : :
: : : 아닌거 같아요..
: : :
: : : 혹시 1초만드는 방법이나
: : :
: : : 시간을 체크할수 있는 방법 있을까요??
|