python串口通信的接收与发送_python实战串口助手---7串口发送

python实战串口助手---7串口发送

[复制链接]

上次发的帖子的接收是有异常的,昨天下班时,反复的测试,发现问题很大,晚上不想睡觉了,就起来修改调试,终于搞定一个没有异常的版本读取函数,如果有使用我代码的,把下面2个函数替换一下即可,但是还有个问题没有解决,就是显示到text文本框没有实现,我还要再继续研究一下,发送函数,一次只能发一个,超过一个就无法实现,目前还没找到解决方法,我还要继续研究一下的。

进展有点慢了,还是先把调试好的部分代码分享给大家。接收部分代码

def SerRead(self):

while self.ser.alive:

n = self.ser.serSer.inWaiting()

#print ("n=%s" % n)

try:

self.receive_data = ''

if n:

#print u"开始读取"

self.receive_data += self.ser.serSer.read(n).replace(binascii.unhexlify("00"), "")

print ("receive_data is %s" % ord(self.receive_data))

if self.m_rcvBox.GetValue() == 1:

print 'hex16'

self.receive_data = self.space_b2a_hex(self.receive_data)

print 'read5'

#以下没有实现

self.m_rcvtext.AppendText("end", self.receive_data + "\n")

print 'read6'

self.m_rcvtext.see("end")

self.receive_data = ""

print 'read end'

except Exception as e:

#logging.error(e)

print 'read error'

self.receive_data = ""

self.ser.stop()

self.ser = None

发送部分代码

def m_send1butOnButtonClick( self, event ):

if self.ser.alive:

send_data = ''

send_data += str(self.m_textCtrl5.GetValue())

print ("send_data is %s" % ord(send_data))

#send_data += chr(97)

#send_data += chr(0x64)

if self.m_rcvBox.GetValue() == 1:

self.ser.write(send_data, isHex=True)

else:

self.ser.write(send_data)

如有高手看到此贴,麻烦指点一下,谢谢!!

发稿与2018年1月26日凌晨

此内容由EEWORLD论坛网友star_66666原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值