fread (serial)
(제거될 예정임) 장치에서 이진 데이터 읽기
이 serial
객체 함수는 향후 릴리스에서 제거될 예정입니다. serialport
객체 함수를 대신 사용하십시오. 코드 업데이트에 대한 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.
구문
A = fread(obj)
A = fread(obj,size
,'precision
')
[A,count] = fread(...)
[A,count,msg] = fread(...)
설명
A = fread(obj)
와 A = fread(obj,size)
는 직렬 포트 객체 obj
에 연결된 장치에서 이진 데이터를 읽고 데이터를 A
로 반환합니다. 읽을 최대 값 개수는 size
로 지정됩니다. size
가 지정되지 않은 경우 읽을 최대 값 개수는 객체의 InputBufferSize
속성에 의해 지정됩니다. size
에 유효한 옵션은 다음과 같습니다.
| 최대 |
| 최대 m×n개 값을 읽고 m×n 행렬을 열 순서대로 채웁니다. |
size
는 inf
일 수 없으며 지정된 개수의 값을 입력 버퍼에 저장할 수 없는 경우 오류가 반환됩니다. InputBufferSize
속성을 사용하여 입력 버퍼의 크기(바이트)를 지정할 수 있습니다. 값은 precision
을 곱한 바이트로 정의됩니다(아래 참조).
A = fread(obj,
은 size
,'precision
')precision
으로 지정된 정밀도로 이진 데이터를 읽습니다.
precision
은 각 값에 대해 읽는 비트 수와 그러한 비트가 정수, 부동소수점 또는 문자 값 중 어떤 것으로 해석되는지를 제어합니다. precision
이 지정되지 않은 경우 uchar
(8비트 부호 없는 문자)가 사용됩니다. 기본적으로 숫자형 값은 배정밀도 배열로 반환됩니다. precision
에 대해 지원되는 값은 아래의 팁에 나와 있습니다.
[A,count] = fread(...)
는 count
로 읽은 값 개수를 반환합니다.
[A,count,msg] = fread(...)
는 읽기 작업이 실패한 경우 msg
로 경고 메시지를 반환합니다.
팁
장치에서 데이터를 읽으려면 fopen
함수를 사용하여 obj
에 장치가 연결되어 있어야 합니다. 연결된 직렬 포트 객체는 Status
속성값으로 open
을 갖습니다. obj
가 장치에 연결되어 있지 않은 상태에서 읽기 작업을 수행하려고 하면 오류가 반환됩니다.
msg
가 출력 인수로 포함되지 않은 상태에서 읽기 작업이 실패하면 명령줄로 경고 메시지가 반환됩니다.
fread
가 실행될 때마다 읽은 값 개수만큼 ValuesReceived
속성값이 증가합니다.
이진 읽기 작업을 완료하기 위한 규칙
fread
를 사용한 읽기 작업은 다음 시점에 MATLAB® 명령줄에 대한 액세스를 차단합니다.
지정된 수의 값을 읽으면
Timeout
속성으로 지정된 시간이 경과하면참고
이진 읽기 작업에는
Terminator
속성이 사용되지 않습니다.
지원되는 정밀도
precision
에 지원되는 값이 아래에 나와 있습니다.
데이터형 | 정밀도 | 해석 방식 |
---|---|---|
문자 |
| 8비트 부호 없는 문자 |
| 부호 있는 8비트 문자 | |
| 부호 있는 8비트 문자 또는 부호 없는 문자 | |
정수 |
| 8비트 정수 |
| 16비트 정수 | |
| 32비트 정수 | |
| 8비트 부호 없는 정수 | |
| 16비트 부호 없는 정수 | |
| 32비트 부호 없는 정수 | |
| 16비트 정수 | |
| 32비트 정수 | |
| 32비트 또는 64비트 정수 | |
| 16비트 부호 없는 정수 | |
| 32비트 부호 없는 정수 | |
| 32비트 또는 64비트 부호 없는 정수 | |
부동소수점 |
| 32비트 부동소수점 |
| 32비트 부동소수점 | |
| 32비트 부동소수점 | |
| 64비트 부동소수점 | |
| 64비트 부동소수점 |