bin文件传输完成后如何停止Xmodem

时间:2019-11-27 07:22:28

标签: binary xmodem

我正在使用底部的代码通过串口成功将BIN文件发送到电表。 我的问题是Xmodem在发送完所有128个块之后不会停止,我也不知道如何中断它并再次与电表通信。

请帮助。

def sendFile():
    fileSize = os.path.getsize('104_new.BIN')
    total = math.ceil(fileSize /128) 
    ser= serialPort.serialport
    ser.flushInput()
    print (ser)

    def getc(size, timeout=0):
        gbytes = ser.read(1)
        #sleep(0.008)
        print(f'Read Byte: {gbytes}')
        return gbytes or None


    def putc(data, timeout=0):
        pbytes = ser.write(data)
        sleep(0.2)
        print(f'Put Byte: {pbytes}')
        return pbytes or None

    modem =XMODEM(getc,putc)
    f = open('104_new.BIN', "rb")
    modem.send(f,retry=50,callback=total)
    f.close()
    ser.close()
    ser.flushOutput()
    senddata_edit.insert(0,'scan\r')

0 个答案:

没有答案