사용자 도구

사이트 도구

English

cubloc:put:index

Put

Put 채널, 데이터, Length

채널 : 사용채널 (1,2,3중 하나)
데이터 : 송신할 데이터
Length : 송신할 바이트수

설명

RS232포트에 데이터를 송신하는 명령입니다. 송신 데이터에는 문자열 변수, 상수를제외한 나머지 변수 및 상수를 사용할 수 있습니다.

송신할 바이트 수만큼 데이터를 송신합니다. 문자열 데이터를 송신하려면 PUTSTR명령을 사용합니다.

     Opencom1,19200,0,50,10
     Dim A As Byte
     A = &HA0
     Put 1,A,1           '&HA0이 전송됩니다.

실제로는 송신데이터를 송신용 버퍼에 저장합니다. 맨 앞에 있는 데이터부터 해당 채널로 송신됩니다.

PUT명령은 순식간에 실행이 끝나고, 바로 다음 행을 실행하게 되지만, RS232송신은 CUBLOC BASIC인터프리터에 의해서송신버퍼가 모두 비워질 때까지 계속해서 수행됩니다.

만약 PUT명령을 실행했을 때, 송신용 버퍼가 꽉 차있거나, 새로운 데이터가 들어갈만한 공간이 확보되지 않았을 경우, PUT명령은 버퍼가 비워질 때까지 기다리지 않습니다.

즉, 송신할 데이터를 송신버퍼에 넣지 못하고 수행을 종료하게되는 것입니다.

이런 경우를 미리 막기 위해서 송신버퍼의 여유공간을 사전에 확인한 후 PUT명령을 사용하는 것이 좋습니다.

     If Bfree(1,1) > 2 Then  '송신 버퍼가 2바이트 이상 비워져 있다면
       Put 1,A,2
     End If

사용예

RX와 TX단자를 서로 쇼트시킨뒤 아래 프로그램을 실행시키면, Debug터미널에 A부터 Z까지가 표시됩니다.

    Const Device = CB280  
    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/put/index.txt · 마지막으로 수정됨: 2020/08/19 00:35 저자 Comfile Technology