python学习小组
直播中

lee_st

12年用户 45163经验值
擅长:可编程逻辑 嵌入式技术 处理器/DSP RF/无线
私信 关注

python实战串口助手---9串口接收显示

好不容易把接收的显示搞定了,但是不能显示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日深夜



更多回帖

发帖
×
20
完善资料,
赚取积分