Main Content

fprintf (serial)

(제거될 예정임) 장치에 텍스트 쓰기

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

구문

fprintf(obj,'cmd')
fprintf(obj,'format','cmd')
fprintf(obj,'cmd','mode')
fprintf(obj,'format','cmd','mode')

설명

fprintf(obj,'cmd')는 직렬 포트 객체인 obj에 연결된 장치에 cmd 문자열을 씁니다. 디폴트 형식은 %s\n입니다. 쓰기 작업은 동기화되며 실행이 완료될 때까지 명령줄을 차단합니다. cmd는 사용자가 입력하는 SCPI 명령 또는 장치 공급업체의 지침을 기준으로 사용자가 입력하는 명령일 수 있습니다.

fprintf(obj,'format','cmd')format으로 지정된 형식을 사용하여 문자열을 씁니다.

fprintf(obj,'cmd','mode')mode로 지정된 명령줄 액세스를 사용하여 문자열을 씁니다. modecmd가 동기식으로 기록되는지, 비동기식으로 기록되는지를 지정합니다.

fprintf(obj,'format','cmd','mode')는 지정된 형식을 사용하여 문자열을 씁니다. format은 C 언어 변환 사양입니다.

읽기 또는 쓰기 작업을 수행하려면 직렬 포트 객체, obj에서 장치로의 연결을 먼저 열어둬야 합니다.

장치에 대한 연결을 열려면 fopen 함수를 사용해야 합니다. obj에서 장치의 연결이 열려 있는 경우 Status 속성값으로 open을 갖습니다.

입력 인수

format

ANSI C 변환 사양에는 다음과 같은 변환 문자가 포함됩니다.

지정자

설명

%c

단일 문자

%d 또는 %i

십진수 표기법(부호 있음)

%e

지수 표기법(3.1415e+00과 같이 소문자 e 사용)

%E

지수 표기법(3.1415E+00과 같이 대문자 E 사용)

%f

고정소수점 표기법

%g

%e 또는 %f보다 더 간단한 형식. 불필요한 0은 출력되지 않습니다.

%G

%g와 같지만 대문자 E를 사용함

%o

8진수 표기법(부호 없음)

%s

문자들의 문자열

%u

십진수 표기법(부호 없음)

%x

16진수 표기법(소문자 af 사용)

%X

16진수 표기법(대문자 AF 사용)

cmd

문자열 cmd를 지정합니다. 이는 사용자가 입력하는 SCPI 명령 또는 장치 공급업체의 지침을 기준으로 사용자가 입력하는 명령일 수 있습니다.

mode

문자열 cmd가 동기식으로 기록되는지, 비동기식으로 기록되는지를 지정합니다.

  • sync: cmd가 동기식으로 기록되고 명령줄이 차단됩니다.

  • async: cmd가 비동기식으로 기록되고 명령줄이 차단되지 않습니다.

mode가 지정되지 않으면 쓰기 작업이 동기화됩니다.

비동기 mode를 지정하는 경우 쓰기 작업이 발생하면:

  • 출력 버퍼의 바이트 수가 반영되도록 BytesToOutput 속성값이 계속 업데이트됩니다.

  • 출력 버퍼가 비어 있으면 OutputEmptyFcn 속성에 지정된 MATLAB® 파일 콜백 함수가 실행됩니다.

비동기 쓰기 작업이 진행 중인지 여부를 확인하려면 TransferStatus 속성을 사용하십시오.

예제

직렬 포트 객체 s를 만들고 이를 Tektronix TDS 210 오실로스코프에 연결합니다. fprintf를 사용하여 RS232? 명령을 작성합니다. RS232?는 오실로스코프가 직렬 포트 통신 설정을 반환하도록 지시합니다. 이 예제는 Windows® 플랫폼에서 동작합니다.

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

종결자를 포함하지 않은 데이터의 형식을 지정하거나, 종결자가 비도록(empty) 구성하십시오.

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

fprintf의 디폴트 형식은 %s\n입니다. 따라서 Terminator 속성으로 지정된 종결자는 자동으로 작성됩니다. 그러나 경우에 따라 종결자 쓰기를 피해야 할 수 있습니다.

형식과 명령 배열을 지정합니다.

s = serial('COM1');
fopen(s)
fprintf(s,['ch:%d scale:%d'],[1 20e-3],'sync')

버전 내역

R2006a 이전에 개발됨

모두 축소

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

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

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

참고 항목

함수