Main Content

fgetl (serial)

(제거될 예정임) 장치에서 ASCII 텍스트 라인을 읽고 종결자 무시

serial 객체 함수는 향후 릴리스에서 제거될 예정입니다. serialport 객체 함수를 대신 사용하십시오. 코드 업데이트에 대한 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.

구문

tline = fgetl(obj)
[tline,count] = fgetl(obj)
[tline,count,msg] = fgetl(obj)

설명

tline = fgetl(obj)는 직렬 포트 객체 obj에 연결된 장치에서 하나의 ASCII 텍스트 라인을 읽고 데이터를 tline으로 반환합니다. 반환된 데이터는 텍스트 라인의 종결자를 포함하지 않습니다. 종결자를 포함하려면 fgets를 사용하십시오.

[tline,count] = fgetl(obj)는 종결자를 포함하여 count로 읽은 값의 개수를 반환합니다.

[tline,count,msg] = fgetl(obj)는 읽기 작업이 실패한 경우 msg로 경고 메시지를 반환합니다.

예제

Windows® 플랫폼에서 s 직렬 포트 객체를 만든 다음 s를 Tektronix® TDS 210 오실로스코프에 연결하고, fprintf 함수를 사용하여 RS232? 명령을 씁니다. RS232?는 오실로스코프에 직렬 포트 통신 설정을 반환하도록 지시합니다.

s = serial('COM1');
fopen(s)
fprintf(s,'RS232?')

ReadAsyncMode 속성의 디폴트 값은 continuous이므로 데이터가 자동으로 입력 버퍼로 반환됩니다.

s.BytesAvailable
ans =
    17

fgetl을 사용하여 이전 쓰기 작업에서 반환된 데이터를 읽고 종결자를 무시합니다.

settings = fgetl(s)
settings =
9600;0;0;NONE;LF
length(settings)
ans =
    16

오실로스코프에서 s의 연결을 끊고 메모리와 작업 공간에서 s를 제거합니다.

fclose(s)
delete(s)
clear s

장치에서 텍스트를 읽으려면 fopen 함수를 사용하여 장치를 obj에 연결해야 합니다. 연결된 직렬 포트 객체는 Status 속성값으로 open을 갖습니다. obj가 장치에 연결되어 있지 않은 상태에서 읽기 작업을 수행하려고 하면 오류가 반환됩니다.

msg가 출력 인수로 포함되지 않은 상태에서 읽기 작업이 실패하면 명령줄로 경고 메시지가 반환됩니다.

fgetl가 실행될 때마다 종결자를 포함하여 읽은 값의 개수만큼 ValuesReceived 속성값이 증가합니다.

참고

127자가 넘는 ASCII 값을 사용할 수 없습니다. 이 함수는 이진 문자 127자로 제한됩니다.

fgetl을 사용하여 읽기 작업을 완료하기 위한 규칙

fgetl를 사용한 읽기 작업은 다음 시점에 MATLAB® 명령줄에 대한 액세스를 차단합니다.

  • Terminator 속성으로 지정된 종결자에 도달하면

  • Timeout 속성으로 지정된 시간이 경과하면

  • 입력 버퍼가 다 찰 때

참고

127자가 넘는 ASCII 값을 사용할 수 없습니다. 이 함수는 이진 문자 127자로 제한됩니다.

버전 내역

R2006a 이전에 개발됨

모두 축소

R2021a: serial 객체 인터페이스는 제거될 예정임

이 함수를 serial 객체와 함께 사용하는 것은 제거될 예정입니다. 직렬 포트 장치에 액세스하려면 대신 serialport 객체를 해당 함수 및 속성과 함께 사용하십시오.

권장되는 기능은 추가 기능과 성능 향상을 제공합니다. 권장되는 기능의 사용 방법에 대한 자세한 내용은 코드를 serialport 인터페이스로 전환하기 항목을 참조하십시오.

참고 항목

함수