Q&A

  • RS232로 통신을 하고 있는데요.
RS232로 통신을 하고 있는데요.



Data가 한번에 들어와야 하는데 두번에 걸쳐 들어오고 있습니다.

BreakePoint를 걸구 테스트를 하면 한번에 다들어 오거든요.



왜 그런지 이유를 알수 있을까요? Serial통신 이번이 처음이라 많이 해메네요. ^^::



Serial 콤포 : AsyncFree;

3  COMMENTS
  • Profile
    바카 2001.09.07 22:42
    역쉬 전~~ 바카 입니다. ㅠ_ㅜ

    버퍼에 데이타가 날아 오는중에... 데이타를 읽어와 버렸네요.. ^^::

    그래서 이벤트가 2번 되었던 거라 추측이 되네요. ^^



    그럼 이만. 피융..

  • Profile
    바카 2001.09.07 23:10
    이벤트가 발생했을때 데이타가 전부 들어 올때까지 딜레이를 주고 싶은데요.



    sleep은 버퍼까지도 대기를 하고 있는것 같습니다. 그리고 Q&A에 절대무공을

    자랑 하시는 분(Falco님)이 GetTickCount을 이용한 Delay()함수를 올려 놓으셨는데

    그것도 잘되지 않더군요.

    =======================

    저는 이벤트 발생시 Timer(100ms)를 작동시켜서 처리를 하고 있습니다.



    꼭 Delay를 주어서 처리하고 싶습니다. (__) 많은 조언 부탁드립니다.

  • Profile
    쥐 <:( )~ 2001.09.19 22:41
    바카 wrote:

    > 이벤트가 발생했을때 데이타가 전부 들어 올때까지 딜레이를 주고 싶은데요.

    >

    > sleep은 버퍼까지도 대기를 하고 있는것 같습니다. 그리고 Q&A에 절대무공을

    > 자랑 하시는 분(Falco님)이 GetTickCount을 이용한 Delay()함수를 올려 놓으셨는데

    > 그것도 잘되지 않더군요.

    > =======================

    > 저는 이벤트 발생시 Timer(100ms)를 작동시켜서 처리를 하고 있습니다.

    >

    > 꼭 Delay를 주어서 처리하고 싶습니다. (__) 많은 조언 부탁드립니다.



    Rlen:=0;

    for i:=0 to 100 do

    begin

    Sleep(100);

    Rlen := Rlen + Comm1.Read(buff[Rlen],1024);

    Rlen > 100 then break;

    end;

    데이터 대기시간 최대 10000 <--- 알것지여?

    데이터 읽는 길이 100 <--- 알것지여?

    콤포트에서 데이터 올라오는것은 보통 첫타임에 문자열 한개 던지구 다음 타임에 던지

    구 REad 될때 모든 데이터를 다 던지지 않아여 차례 차례 받아서 조합 해야져..