【发布时间】:2016-08-03 09:14:55
【问题描述】:
我无法通过 pyserial 接收来自 com 端口的数据!我已经编译了可以正确发送数据并从控制器接收答案的程序!我使用 comport 监控程序来监视来自控制器的请求和应答:correct send and answer
但是当我发送相同的请求时,我什么也得不到((my request without answer 我的 Python 程序:
#!/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)但一无所获((( 谁能告诉我哪里弄错了?
【问题讨论】:
-
#!/usr/bin/env pythonvsport='COM7'ANDbytesize=5ANDser.write(myz) ; ser.readline()(所以有光纤串行?时间间隔?) -
Pyserial 可能会像您一样在初始化时切换 RS-232 控制线,从而重置您的控制器。字节大小通常为 8。为什么要“尝试不同的速度”?你不知道你的控制器使用什么波特率吗?仔细检查您的数据是否正确发送(Unicode 字符串与字节)。
标签: python serial-port pyserial