Main Content

read

직렬 포트에서 데이터 읽어 들이기

R2019b 이후

설명

예제

data = read(device,count,datatype)은 직렬 포트 연결 device에서 count로 지정된 개수의 값을 datatype으로 지정된 형식으로 읽어 들입니다. 숫자형 datatype 유형인 모든 경우에 대해, data는 double형 값으로 구성된 행 벡터입니다. 텍스트 유형 datatype"char" 또는 "string"인 모든 경우에 대해, data는 지정된 유형입니다. 함수는 지정된 개수의 값을 읽어 들였거나 제한 시간이 초과될 때까지 MATLAB® 실행을 일시 중단합니다.

예제

모두 축소

직렬 포트 장치에 대한 연결을 만듭니다. 이 예제에서 COM3의 직렬 포트는 루프백 장치에 연결되어 있습니다.

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

[1,2,3,4,5]를 uint8 형식으로 씁니다.

write(device,1:5,"uint8")

포트가 루프백 장치에 연결되어 있으므로 장치에 쓰는 데이터는 MATLAB으로 반환됩니다. 모든 데이터를 읽어 들입니다.

read(device,5,"uint8")
ans = 1×5

     1     2     3     4     5

입력 인수

모두 축소

직렬 포트 연결로, serialport 객체로 지정됩니다.

예: read(device,20,"uint32")은 직렬 포트 연결 device에서 데이터를 읽어 들입니다.

읽어 들일 값의 개수로, 양의 정수 값으로 지정됩니다. countdeviceNumBytesAvailable 속성보다 클 경우, 함수는 지정된 만큼의 데이터를 읽어 들였거나 제한 시간이 초과될 때까지 MATLAB 실행을 일시 중단하고 대기합니다.

예: read(device,5,"uint32")는 5개의 uint32 데이터 값을 읽어 들입니다. 각 uint32 값은 4바이트이므로 총 20바이트를 읽어 들입니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

각 값의 크기와 형식으로, 문자형 벡터 또는 string형으로 지정됩니다. datatype은 각 값에 대해 읽어 들일 바이트 수와 해당 바이트에 대한 해석을 MATLAB 데이터형으로 결정합니다.

예: read(device,5,"uint16")은 5개의 uint16 데이터 값을 읽어 들입니다. 각 uint16 값은 2바이트이므로 총 10바이트를 읽어 들입니다.

데이터형: char | string

버전 내역

R2019b에 개발됨

참고 항목

함수