2016-08-03 4 views
0

pyserial로 com 포트에서 데이터를 수신 할 수 없습니다! 데이터를 보내고 콘트롤러로부터 응답을 올바르게받는 프로그램을 컴파일했습니다! 내가 요청을 감시하고 컨트롤러에서 대답 처신 모니터 프로그램을 사용 : correct send and answerpyserial로 com 포트에서 데이터를 수신

하지만이 같은 요청을 보낼 때 난 ((my request without answer 내 파이썬 음식물 아무것도 얻을 :

#!/usr/bin/env python 
import sys, os 
import serial, time 
from serial import * 
ser = serial.Serial(
    port='COM7', 
    baudrate=4800, 
    bytesize=5,#18, 
    parity='N', 
    stopbits=1, 
    timeout=5, 
    xonxoff=0,# 
    rtscts=0,# 
    writeTimeout = 1#1 
myz= '\x10\x02\x00\x00\x01\x4e\xf0\x04\x01\xff\x10\x17\x02\x4e\xf0\x04\x02\xff\x10\x17\x10\x03\xff' 
while True: 
ser.write(myz) #send data 
ser.readline() 

내가 다른 속도를 시도하고 있었다 (4800 , 9600) 그리고 아무 것도 얻지 못했다. ((( ) 누군가가 실수로 어디서 내게 말할 수 있겠습니까?

+0

'#!/usr/bin/env 파이썬'vs'포트 = 'COM7''AND'bytesize = 5' AND'ser.write (myz); ser.readline()'(그래서 파이버 시리얼을 가지고 있었습니까? 시간차?) – dsgdfg

+0

[Pyserial] (http://pypi.python.org/pypi/pyserial)은 초기화 할 때 RS-232 컨트롤 라인을 토글 할 수 있습니다 컨트롤러를 재설정하십시오. Bytesize는 대개 8입니다. 왜 "다른 속도를 시도하고 있습니까?" 컨트롤러가 사용하는 통신 속도를 알지 못합니까? 데이터가 올바르게 전송되는지 다시 확인하십시오 (유니 코드 문자열 대 바이트). – handle

답변

0

당신이 쓰는 COM 포트에 메시지를 보내지 않을 것입니다. 케이블의 다른 쪽을 다른 포트 또는 y와 대답 할 장치와 통신 우.

+0

반대편에는 저에게 대답해야하는 장치가 있습니다. 첫 번째 그림에서 나는 보내고 대답을 볼 수 있습니다! – user3216321

+0

다른 baudrate와 다른 설정을 사용하고 있습니까? 스크린 샷을 보면 다른 것처럼 보입니다. 또한 동일한 포트를 수신하는 두 개의 장치를 사용하면 문제가 발생할 수 있습니다. 어떤 기기와 통화하고 싶습니까? – Aruj

+0

예, 포트 모니터에서 differenkee를 본 위치는 어디입니까? 나는이 장치에 대한 설명서를 만들었습니다 - stopbits는 '2', baudrate = '4800', bytesize = '8'이어야합니다. 그리고 일하기 시작했습니다! 내가 연결하려고했던 장치는 1970 년 초에 만들어진 소련 (USSR) 산업용 컨트롤러 'РЕМИКОНТ Р-122'입니다! 이 장치가 현재 큰 계획에서 작동하고 있다고 상상할 수 있습니까?))) Crazy)))) 도움을 주셔서 감사합니다) – user3216321

관련 문제