在xmodem协议中为getc方法提供的大小值是多少?

时间:2012-10-08 11:41:56

标签: python xmodem

我正在尝试使用 XMODEM 协议传输文件。

我看到并且不理解在Can I use the xmodem protocol with PySerial?

中提供的解决方案

我看到了xmodem package link

  1. size方法提供的getc的价值是多少?它未分配first link
  2. 中给出的任何值
  3. 当我使用second link中所述的简单方法时,我最终收到错误:No handlers could be found for logger "xmodem"
  4. 这是我发送文件的代码。

    import serial
    from xmodem import XMODEM, CRC
    from time import sleep
    def getc(size, timeout=1):
        return port.read(size)
    def putc(data, timeout=1):
        port.write(data)
        sleep(0.001) # give device time to send ACK
    port = serial.Serial(port='COM10',parity=serial.PARITY_NONE,bytesize=serial.EIGHTBITS,stopbits=serial.STOPBITS_ONE,timeout=0,xonxoff=0,rtscts=0,dsrdtr=0,baudrate=9600)
    
    sleep(2) # give device time to handle command
    stream = open('..\\stream\\myfile.bin','rb')
    modem = XMODEM(getc, putc)
    modem.send(stream, quiet = 0)
    

    我收到错误:No handlers could be found for logger "xmodem"

1 个答案:

答案 0 :(得分:0)

以下是第一个问题的解决方案,XMODEM使用 getc putc 从端口读取 size 字节数并写入< em> data 分别到端口。它们需要由用户定义并提供给XMODEM对象。 XMODEM内部使用 size 调用 getc