zoukankan      html  css  js  c++  java
  • Python 串口通信操作

    下载  pyserial包 https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794506184df83ef2290de0d18803dd11

    然后解压,例如解压到D:/pyserial.打开cmd,cd 指令切换到D:pyserial下。执行安装指令 python setup.py install

    编写测试代码。

    def OpenCom(self,*args):
            #设置端口和波特率
            selComPort =‘com2’
            #波特率
            selBaudRate =9600
           #奇偶校验
            selParity = 'N'
            try:
                if(not self.mySerial):
                    self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate,bytesize=8,parity=selParity,stopbits=1,timeout=5)
                else:
                    if(self.mySerial.isOpen()):
                        self.mySerial.close()
                        self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate, bytesize=8, parity=selParity, stopbits=1, timeout=5)
                self.lblInfo['text'] = '打开成功!'
            except Exception as ex:
                self.lblInfo['text'] = '打开失败!'

    #使用com口发送modbus协议给终端设备。

        def btnEmId_Click(self):

             barray = bytearray([0x05, 0x03, 0xA#, 0x54, 0x00, 0x08])

            vOldEmId = self.txbOldEmId.get()

            vNewEmId = self.txbNewEmId.get()

            barray[0] = int(vOldEmId)

            barray[5] = int(vNewEmId)

           #crc校验

            strInput  = utils.crc16_append(barray)

            print(barray)

            n = self.mySerial.write(barray)

            if(n > 0):

                str = self.mySerial.readall()

                self.lblInfo['text'] = 'success!'

                # for s in str:

                #     print (hex(s))

            else:

        self.lblInfo['text'] = 'error!'

      

  • 相关阅读:
    jsp JavaBean配置
    jsp response对象
    tomcat 多servlet配置
    jsp session
    什么才是永恒?
    Class Diagram Of elvish ray 0.6 For Reference
    Dataflow
    过生日
    我们开始设计软件架构
    寻回旧作——Mars Princess
  • 原文地址:https://www.cnblogs.com/huangziqing/p/8011756.html
Copyright © 2011-2022 走看看