10.07.2015 Views

cubloc_manual2.pdf

cubloc_manual2.pdf

cubloc_manual2.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

On Recv1ON RECV1 GOSUB label채널 1 의 RS232 버퍼에 데이터가 수신되면 label 로 점프합니다. Label 에는 인터럽트 루틴이 위치해 있어야 하며, 맨 나중에는 RETURN 명령을 적어주어야 합니다.DIM A(5) AS BYTEOPENCOM 1,19200,0, 100, 50ON RECV1 DATARECV_RTN ‘RS232 채널 1 에 데이터가 수신되면 DATARECV_RTN 으로DOLOOP ‘ 무한루프DATARECV_RTN:IF BLEN(1,0) > 4 THENA(0) = GET(1,1) ‘ 1 바이트만 읽습니다.A(1) = GET(1,1) ‘ 1 바이트만 읽습니다.A(2) = GET(1,1) ‘ 1 바이트만 읽습니다.A(3) = GET(1,1) ‘ 1 바이트만 읽습니다.A(4) = GET(1,1) ‘ 1 바이트만 읽습니다.END IFRETURN‘ 인터럽트 루틴을 종료RECV 인터럽트 루틴을 수행하는 동안, 중복해서 같은 종류의 인터럽트가 발생되지는 않습니다만,수신 인터럽트 루틴의 수행을 끝마치고, 메인프로그램으로 복귀했을 때, 수신버퍼에 데이터가 남아있다면 계속해서 인터럽트가 발생하게 됩니다. 즉, RECV 인터럽트의 발생여부는 RS232 수신여부를 가지고 판단하는 것이 아니라, 수신버퍼에 데이터가 남아있는지 여부를 판단하는 것입니다.Set UntilSET UNTIL channel, packetlength, untilcharchannel : 사용채널packetlength : 패킷수untilchar : 종료캐릭터일종의 조건부 수신 인터럽트 발생 선언문입니다. ON RECV 만 선언한 상태에서는 수신버퍼에 단1 바이트의 데이터만 도착해도 수신 인터럽트가 발생됩니다. 계속해서 RS232 데이터가 도착한다면, 너무 잦은 인터럽트 발생으로 인해 본 프로그램 원활한 흐름에 영향을 줄 수 있습니다.SET UNTIL 선언을 사용해서, 원하는 종료코드가 도착했을 경우에만 수신 인터럽트를 발생하도록하면, 너무 잦은 인터럽트 발생을 막을 수도 있고, 원하는 하나의 프레임을 갖춘 데이터가 도착했을 경우에만 인터럽트를 발생시킬 수도 있습니다.즉, SET UNTIL 에 사용한 종료캐릭터가 도착하기까지 계속해서 데이터를 수신하고 있다가, 종료캐릭터가 도착하면 수신 인터럽트가 발생하는 것입니다.238

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!