好不容易把接收的显示搞定了,但是不能显示16进制,不知道为何,上图,上代码
接收代码
- 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.receive_data - 18
- print 'read5'
- print ("receive_data1 is %s" % (self.receive_data))
-
- self.m_rcvtext.AppendText( self.receive_data )
- print 'read6'
- 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
我设定的是自发自收,有个问题,本来是串口发送实现任意个发送的,但是接收只能收1个,多个就出异常,见图
很是不解。哪位高手不吝指点一下。
发稿与2018年1月26日深夜
此内容由EEWORLD论坛网友star_66666原创,如需转载或用于商业用途需征得作者同意并注明出处