[原创] python实战串口助手---9串口接收显示

star_66666   2018-1-26 23:12 楼主
好不容易把接收的显示搞定了,但是不能显示16进制,不知道为何,上图,上代码 捕获.JPG


接收代码
  1. def SerRead(self):
  2.         while self.ser.alive:
  3.             n = self.ser.serSer.inWaiting()
  4.             #print ("n=%s" % n)
  5.             try:
  6.                 self.receive_data = ''
  7.                 if n:
  8.                     #print u"开始读取"
  9.                     self.receive_data += self.ser.serSer.read(n).replace(binascii.unhexlify("00"), "")
  10.                     print ("receive_data is %s" % ord(self.receive_data))
  11.                     if self.m_rcvBox.GetValue() == 1:
  12.                         print 'hex16'
  13.                         self.receive_data = self.receive_data - 18
  14.                         print 'read5'
  15.                         print ("receive_data1 is %s" % (self.receive_data))
  16.                     

  17.                     self.m_rcvtext.AppendText( self.receive_data )
  18.                     print 'read6'
  19.                     self.receive_data = ""
  20.                     print 'read end'
  21.             except Exception as e:
  22.             #logging.error(e)
  23.                 print 'read error'
  24.                 self.receive_data = ""
  25.                 self.ser.stop()
  26.                 self.ser = None


我设定的是自发自收,有个问题,本来是串口发送实现任意个发送的,但是接收只能收1个,多个就出异常,见图
捕获1.JPG

很是不解。哪位高手不吝指点一下。


                             发稿与2018年1月26日深夜

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


回复评论 (2)

谢谢  今晚回去看看这个代码运行一下
点赞  2018-1-29 13:38
好的,也帮忙检查一下
点赞  2018-1-29 15:57
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复