사용자 도구

사이트 도구

English

cubloc:get:index

Get

Variable = Get(채널, 길이)

Variable : 결과가 저장될 정수형 변수
채널 : 사용채널 (1,2,3중 하나)
길이 : 수신할 데이터 수 (최대 4까지 사용가능)

대상제품

CUBLOC 전제품

설명

RS232포트로부터 데이터를 수신하는 명령입니다. 포트로부터 직접 읽는 것이 아니라,수신버퍼에 저장된 값을 읽어옵니다. 수신버퍼에 데이터가 없다면 데이터가 도착할 때까지 기다리지 않고 명령수행을 종료합니다. 즉 아무것도 읽어오지못하고 의미 없는 Gabage(쓰레기)값만 반환됩니다. 이것을 막기 위해서는 Blen 함수를 사용해서, 수신버퍼에 데이터가 있는지 확인한 후 GET명령을 수행해야 합니다.

보통의 경우 수신 인터럽트가 발생된뒤 인터럽트 루틴에 가서 GET명령을 사용하게 됩니다. 괄호 안에는 채널번호와 수신해야 될 데이터의 바이트 수를 적어줍니다. 바이트형 변수에 값을 할당할 때에는 1로 적어줍니다.INTEGER형에 저장할 때에는 2로 적어줍니다. LONG이나 SINGLE형에 저장할 때에는 4로 적어줍니다. 4이상의 값은 사용할 수 없습니다. 이것 역시도 버퍼상에 원하는 바이트수가 모두 도착했는지 미리 확인한 후에 읽어와야 합니다. 그렇지 않은 경우 엉뚱한 값을 받게 됩니다.

사용예

    'RX와 TX단자를 서로 쇼트시킨뒤 아래 프로그램을 실행시키면, Debug터미널에 A부터 Z까지가 표시됩니다.
    Const Device = CB210  
    Dim A As Byte
    Dim B As Byte
    Opencom 1,19200,3,50,50
    Wait 500
    For A=&h41 To &h5a
       Put 1,A,1      '채널1으로 1바이트를 송신
        Wait 10         '버퍼로 들어오는시간을 기다려줍니다.
       B = Get(1,1)  '채널1로부터 1바이트를 수신.
       Debug B
       Wait 100
    Next

명령어 목록으로 가기

cubloc/get/index.txt · 마지막으로 수정됨: 2016/04/14 09:49 (바깥 편집)