python实战串口助手---7串口发送
2018-01-26 00:41
393 查看
上次发的帖子的接收是有异常的,昨天下班时,反复的测试,发现问题很大,晚上不想睡觉了,就起来修改调试,终于搞定一个没有异常的版本读取函数,如果有使用我代码的,把下面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日凌晨
进展有点慢了,还是先把调试好的部分代码分享给大家。接收部分代码
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日凌晨
相关文章推荐
- python实战串口助手---8串口多个发送解决
- python实战串口助手---4实现串口功能
- python实战串口助手---6实现串口接收
- python实战串口助手---1熟悉串口
- python实战串口助手---5实现过程中的困惑
- python实战串口助手---2确定控件
- python实战串口助手---9串口接收显示
- python实战串口助手---3初定界面
- Raspberr pi串口发送接收的Python实现
- 使用python在openwrt下操作串口发送十六进制数据
- STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题
- python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
- python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
- python下通过串口发送结构体数据
- python实战系列之RTX发送告警消息(四)
- 全功能智能车之PC端MFC串口助手程序界面优化、能发送多行(第九篇)
- python实战===使用smtp发送邮件的源代码,解决554错误码的问题
- centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)
- centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)
- python实战===使用随机的163账号发送邮件