Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

코드를 serialport 인터페이스로 전환하기

serial 함수와 그 객체 함수 및 속성은 제거될 예정입니다. serialport를 대신 사용하십시오.

직렬 포트 장치 검색하기

seriallist는 권장되지 않습니다. serialportlist를 대신 사용하십시오.

직렬 포트 장치에 연결하기

다음 예제에서는 권장되는 기능을 사용하여 직렬 포트 장치에 연결하는 방법을 보여줍니다.

기능대체 기능
s = serial("COM1");
s.BaudRate = 115200;
fopen(s)
s = serialport("COM1",115200);

자세한 내용은 serialport 항목을 참조하십시오.

읽기와 쓰기

다음 예제에서는 권장되는 기능을 사용하여, 루프백 장치에서 이진 쓰기 및 읽기를 수행하고 비종결 명령 문자열을 쓰고 고정 길이 응답 문자열을 읽어오는 방법을 보여줍니다.

기능대체 기능
% s is a serial object
fwrite(s,1:5,"uint32")
data = fread(s,5,"uint32")
data =

     1
     2
     3
     4
     5
% s is a serialport object
write(s,1:5,"uint32")
data = read(s,5,"uint32")
data =

     1     2     3     4     5
% s is a serial object
command = "start";
fwrite(s,command,"char")
% s is a serialport object
command = "start";
write(s,command,"char")
% s is a serialport object
command = "start";
write(s,command,"string")
% s is a serial object
length = 5;
resp = fread(s,length,"char")
resp =

   115
   116
    97
   114
   116
resp = char(resp)'
resp =

    'start'
% s is a serialport object
length = 5;
resp = read(s,length,"string")
resp =

    "start"

자세한 내용은 write 또는 read 항목을 참조하십시오.

명령 전송하기

이 예제에서는 권장되는 기능을 사용하여 종결 SCPI 명령을 작성하는 방법을 보여줍니다.

기능대체 기능
% s is a serial object
s.Terminator = "CR/LF"
channel = 1;
level = 3.44;
fprintf(s,"TRIGGER%d:LEVEL2 %1.2f",[channel,level]);
% s is a serialport object
configureTerminator(s,"CR/LF")
channel = 1;
level = 3.44;
cmd = sprintf("TRIGGER%d:LEVEL2 %1.2f",[channel,level]);
writeline(s,cmd)

writeline은 자동으로 쓰기 종결자를 추가합니다.

자세한 내용은 configureTerminator 또는 writeline 항목을 참조하십시오.

종결 문자열 읽어오기

이 예제에서는 권장되는 기능을 사용하여 종결 문자열 읽기를 수행하는 방법을 보여줍니다.

기능대체 기능
% s is a serial object
fprintf(s,"MEASUREMENT:IMMED:TYPE PK2PK")
a = fscanf(s,"%e",6)
a =

    2.0200

형식 지정자 "%e"의 경우 fscanf가 종결자를 반환하므로 사용자가 문자열에서 이를 제거해야 합니다.

% s is a serialport object
writeline(s,"MEASUREMENT:IMMED:TYPE PK2PK")
a = readline(s)
a = 

    "2.0200"
sscanf(a,"%e")
a =

    2.0200
% s is a serial object
fprintf(s,"*IDN?")
a = fgetl(s)
a =

    'TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16'

fgetl은 지정된 종결자에 도달할 때까지 읽은 다음, 그 종결자를 무시합니다.

% s is a serialport object
writeline(s,"*IDN?")
a = readline(s)
a = 

    "TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04"

readline은 지정된 종결자에 도달할 때까지 읽은 다음, 그 종결자를 무시합니다. 종결자를 포함하는 옵션은 없습니다.

% s is a serial object
fprintf(s,"*IDN?")
a = fgets(s)
a =

    'TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04
     '

fgets는 지정된 종결자에 도달할 때까지 읽은 다음, 그 종결자를 반환합니다.

자세한 내용은 readline 항목을 참조하십시오.

메모리에서 데이터 플러시하기

이 예제에서는 권장되는 기능을 사용하여 버퍼에서 데이터를 플러시하는 방법을 보여줍니다.

기능대체 기능
% s is a serial object
flushinput(s)
% s is a serialport object
flush(s,"input")
% s is a serial object
flushoutput(s)
% s is a serialport object
flush(s,"output")
% s is a serial object
flushinput(s)
flushoutput(s)
% s is a serialport object
flush(s)

자세한 내용은 flush 항목을 참조하십시오.

종결자 설정하기

이 예제에서는 권장되는 기능을 사용하여 종결자를 설정하는 방법을 보여줍니다.

기능대체 기능
% s is a serial object
s.Terminator = "CR/LF";
% s is a serialport object
configureTerminator(s,"CR/LF")
% s is a serial object
s.Terminator = {"CR/LF" [10]};
% s is a serialport object
configureTerminator(s,"CR/LF",10)

자세한 내용은 configureTerminator 항목을 참조하십시오.

콜백 함수 설정하기

이 예제에서는 권장되는 기능을 사용하여 루프백 장치에서 콜백 함수를 설정하는 방법을 보여줍니다.

기능대체 기능
s = serial("COM5","BaudRate",115200)
s.BytesAvailableFcnCount = 5
s.BytesAvailableFcnMode = "byte"
s.BytesAvailableFcn = @instrcallback

fopen(s)

function instrcallback(src,evt)
   data = fread(src,src.BytesAvailable)
   disp(evt)
   disp(evt.Data)
end
data =

     1
     2
     3
     4
     5

    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 5 2 16 35 9.6710]
s = serialport("COM5",115200)
configureCallback(s,"byte",5,@instrcallback);

function instrcallback(src,evt)
   data = read(src,src.NumBytesAvailable,"uint8")
   disp(evt)
end
data =

     1     2     3     4     5

  DataAvailableInfo with properties:

    BytesAvailableFcnCount: 5
                   AbsTime: 02-May-2019 15:54:09

자세한 내용은 configureCallback 항목을 참조하십시오.

직렬 핀 상태 읽어오기

이 예제에서는 권장되는 기능을 사용하여 직렬 핀 상태를 읽어오는 방법을 보여줍니다.

기능대체 기능
% s is a serial object
s.PinStatus
ans = 

  struct with fields:

    CarrierDetect: 'on'
      ClearToSend: 'on'
     DataSetReady: 'on'
    RingIndicator: 'on'
% s is a serialport object
status = getpinstatus(s)
status = 

  struct with fields:

      ClearToSend: 1
     DataSetReady: 1
    CarrierDetect: 1
    RingIndicator: 1

자세한 내용은 getpinstatus 항목을 참조하십시오.

직렬 DTR 핀 및 RTS 핀 상태 설정하기

이 예제에서는 권장되는 기능을 사용하여 직렬 DTR 핀 및 RTS 핀 상태를 설정하는 방법을 보여줍니다.

기능대체 기능
% s is a serial object
s.DataTerminalReady = "on";
% s is a serialport object
setDTR(s,true)
% s is a serial object
s.RequestToSend = "off";
% s is a serialport object
setRTS(s,false)

자세한 내용은 setDTR 또는 setRTS 항목을 참조하십시오.

참고 항목

|

관련 항목