반응형
지금까지 짠 코드는 아래와 같다.
import serial
import re
ser = serial.Serial(port='COM8', baudrate=9600, bytesize=serial.EIGHTBITS,
parity=serial.PARITY_NONE, timeout=None)
while(True):
ser.close()
ser.open()
#값 불러오기
res=ser.readline()
#문자열로 변환
res=str(res)
#숫자 부분 추출, 추출 결과는 ['숫자'] 형태
res=re.findall("\d+.\d+",res)
#문자열 추출
res=res[0]
#실수로 변환
res=float(res)
print(res)
timeout을 0으로 두면 오류가 뜬다. None이나, 다른 수로 두면 괜찮다. 왜그런거지; 다시 해보면 또 괜찮고. 모르겠다 뭔지. 아무거나 둬도 되나. 일단 0.1로 둬야겠다.
timeout 내용에 대한 documentation 은 아래와 같다.
- timeout = None: wait forever / until requested number of bytes are received
- timeout = 0: non-blocking mode, return immediately in any case, returning zero or more, up to the requested number of bytes
- timeout = x: set timeout to x seconds (float allowed) returns immediately when the requested number of bytes are available, otherwise wait until the timeout expires and return all bytes that were received until then.
출처 : https://pyserial.readthedocs.io/en/latest/pyserial_api.html
반응형
'GUI 프로젝트 > 저울 연결하기 (시리얼통신) (Tkinter)' 카테고리의 다른 글
[파이썬 저울 연결] 7. GUI 만들기 #1. 윈도우 만들기 (0) | 2022.01.07 |
---|---|
[파이썬 저울 연결] 6. 0점조절, tare 시 오류 (0) | 2022.01.07 |
[파이썬 저울 연결] 4. 문자열에서 무게만 추출하기 (0) | 2022.01.07 |
[파이썬 저울 연결] 3. 명령어 입력 시 현재 무게 받아오기 (0) | 2022.01.06 |
[파이썬 저울 연결] 2. 무게 받아오기 (pyserial) (0) | 2022.01.06 |
댓글