Putstr 채널, 데이터
채널 : 사용채널 (1,2,3중 하나) |
데이터 : 문자열 |
RS232포트에 문자열로 된 데이터를 송신하는 명령입니다. 실제로는 송신데이터를 송신용 버퍼에 저장합니다. 맨 앞에 있는 데이터부터 해당 채널로 송신됩니다.
Putstr명령은 순식간에 실행이 끝나고, 바로 다음 행을 실행하게 됩니다. 하지만, RS232송신은 CUBLOC BASIC인터프리터에 의해서송신버퍼가 모두 비워질 때까지 계속해서 수행됩니다.
만약 Putstr 명령을 실행했을 때, 송신용 버퍼가 꽉 차있거나, 새로운 데이터가 들어갈만한 공간이 확보되지 않았을 경우, PUT명령은 버퍼가 비워질 때까지 기다리지 않습니다.
즉, 송신할 데이터를 송신버퍼에 넣지 못하고 수행을 종료하게되는 것입니다. 이런 경우를 미리 막기 위해서 송신버퍼의 여유공간을 사전에 확인한 후 PUT명령을 사용하는 것이 좋습니다.
If Bfree(1,1) > 12 Then '송신 버퍼가 12바이트 이상 비워져 있다면 Putstr 1,"Comfile Tech" End If
'RX와 TX단자를 서로 쇼트시킨뒤 아래 프로그램을 실행시키면, Debug터미널에 Comfile이라고 표시됩니다. Const Device = CB210 Dim ST1 As String * 20 Opencom 1,19200,3,50,50 Wait 500 Putstr 1,"Comfile" ' 문자열 Comfile을 채널1으로 송신. Wait 20 ' 수신할 여유를 줍니다. ST1 = Getstr(1,7) ' 7바이트를 버퍼로부터 수신 Debug ST1