Variable = Get(채널, 길이)
Variable : 결과가 저장될 정수형 변수 |
채널 : 사용채널 (1,2,3중 하나) |
길이 : 수신할 데이터 수 (최대 4까지 사용가능) |
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