我正在尝试使用 XMODEM 协议传输文件。
我看到并且不理解在Can I use the xmodem protocol with PySerial?
中提供的解决方案我看到了xmodem package link。
size
方法提供的getc
的价值是多少?它未分配first link。No handlers could be found for logger "xmodem"
。这是我发送文件的代码。
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"
。
答案 0 :(得分:0)
以下是第一个问题的解决方案,XMODEM使用 getc 和 putc 从端口读取 size 字节数并写入< em> data 分别到端口。它们需要由用户定义并提供给XMODEM对象。 XMODEM内部使用 size 调用 getc 。