python 断点重传_使用python-Raspberry-pi3从串行设备重传数据时出现的问题

我有一个螺线管控制硬件,我试图使用一个访问系统,根据设备的手册,我向设备和tri发送命令,以获得状态,但我只收到空行。在

了解端口状态的命令如下:读取锁止状态命令(车门开关状态的反馈)

起始板地址锁定地址命令检查码(XOR)

0X80 0X01–0XF 0X00-32 0X33 XX

锁地址为0X00,返回所有锁的状态,如果不是0,则返回此锁状态。在

例如:

a、 返回锁1的状态

例:上位机发送0X80 0X01 0X01 0X33 0XB2(十六进制),

返回

命令板地址锁定地址状态检查代码

0X80 0X01 0X01 0X11 0X91(锁定打开)

0X80 0X01 0X01 0X00 0X80(锁定关闭

b、 返回到所有锁的状态:

例:主机发送0X80 0X01 0X00 0X33 0XB2(十六进制),返回

起始板地址状态1状态2状态3状态4状态5状态6状态7

命令检查代码

0X80 0X01 0XFF 0XFF 0XFF 0XFF 0XFF 0XFF 0XFF 0XFF 0X33 0XXX

状态:从状态1到状态7,从高到低,对应的锁是1-50。在

这是我的代码:#!/usr/bin/env python

# based on tutorials:

# http://www.roman10.net/serial-port-communication-in-python/

# http://www.brettdangerfield.com/post/raspberrypi_tempature_monitor_project/

import serial, time

SERIALPORT = "/dev/ttyUSB0"

BAUDRATE = 9600

ser = serial.Serial(SERIALPORT, BAUDRATE)

ser.bytesize = serial.EIGHTBITS #number of bits per bytes

ser.parity = serial.PARITY_NONE #set parity check: no parity

ser.stopbits = serial.STOPBITS_ONE #number of stop bits

#ser.timeout = None #block read

#ser.timeout = 0 #non-block read

ser.timeout = 2 #timeout block read

ser.xonxoff = False #disable software flow control

ser.rtscts = False #disable hardware (RTS/CTS) flow control

ser.dsrdtr = False #disable hardware (DSR/DTR) flow control

ser.writeTimeout = 0 #timeout for write

print 'Starting Up Serial Monitor'

if ser.isOpen():

try:

ser.flushInput() #flush input buffer, discarding all its contents

ser.flushOutput()#flush output buffer, aborting current output

ser.write (serial.to_bytes([0X80,0X01,0X33,0XB2]))

print("write data: 0X80,0X01,0X33,0XB2")

time.sleep(0.5)

numberOfLine = 0

while True:

response = ser.readline()

print("read data: " + response)

numberOfLine = numberOfLine + 1

if (numberOfLine >= 8):

break

ser.close()

except Exception, e:

print "error communicating...: " + str(e)

else:

print "cannot open serial port "

这是我的结果:

读取数据:

读取数据:

读取数据:

读取数据:

读取数据:

读取数据:

读取数据:

读取数据:

你能帮帮我吗?我做错什么了?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值