Skip to main content
Skip table of contents

serial_read(ser, length=-1, timeout=-1)

기능

Serial 포트에서 데이터를 읽어옵니다.

인수

인수명자료형기본값설명

Ser

serial.Serial

-

Serial instance

Length

int

-1

Read 할 바이트 수

  • -1: 미지정(read 된 데이터만큼 읽습니다.)
  • n(>=0): 지정한 바이트 수만큼 읽습니다.

timeout

int

float

-1

Read 대기 시간

  • -1: 무한 대기
  • n(>0): n 초(second)

리턴

(res, rx_data)

설명

res

n

수신한 데이터의 바이트 수

-1

Port가 open 상태가 아닙니다.

-2

serial.SerialException 예외 발생

rx_data

Read 한 데이터(byte type)

예외

예외설명

DR_Error (DR_ERROR_TYPE)

인수의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

인수의 값이 유효하지 않을 시

예제

PY
ser = serial_open(port="COM", baudrate=115200, bytesize=DR_EIGHTBITS, 
	parity=DR_PARITY_NONE, stopbits=DR_STOPBITS_ONE)

res, rx_data = serial_read(ser) 
#데이터가 수신될 때 까지 무한 대기

res, rx_data = serial_read(ser, timeout=3)
#데이터가 수신될 때 까지 대기, 3초 타임 아웃 설정
#3초 이내 수신되면 읽은 데이터 바로 리턴
#3초가 지나면 현재까지 읽은 값을 리턴한다 

res, rx_data = serial_read(ser, length=100)
#100byte 읽을 때까지 무한대기

res, rx_data = serial_read(ser, length=100, timeout=3)
#100byte 읽을 때 까지 대기, 3초 타임 아웃 설정 
#3초 이내 100byte 수신되면 읽은 데이터 바로 리턴
#3초가 지나면 현재까지 읽은 값을 리턴한다 

#수신된 byte형을 string 형으로 변환  
rx_msg = rx_data.decode() 
#rx_data는 byte형이고 string형으로 변환하기 위해서는 decode() 사용합니다.
#예를 들어, rx_data = b”abcd” 이면, rx_msg=”abcd”가 됩니다.

res, rx_data = serial_close(ser)
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.