2013-07-19 147 views
0

我试图使用XMODEM协议传输文件我看到了此链接中提供的解决方案:Please help in using xmodem protocol 但在我的情况下,可以发送文件但不包含此内容,请帮助我...在python中使用XMODEM发送文件

这里是我的发送码:

import serial 
from xmodem import XMODEM 
from time import sleep 

s = serial.Serial(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N',  stopbits=1, timeout=None, xonxoff=0, rtscts=0) 
s.open() 

def getc(size, timeout=1): 
    return s.read(size) 
def putc(data, timeout=1): 
    s.write(data) 
modem = XMODEM(getc, putc) 

f = open('file.txt', 'rb') 
stream = f.readlines() 
status = modem.send(stream, retry=8) 
s.close() 
stream.close() 

这里是我的recv代码:

import serial 
from xmodem import XMODEM 
from time import sleep 

s = serial.Serial(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=0, rtscts=0) 
s.open() 

def getc(size, timeout=1): 
    return s.read(size) 
def putc(data, timeout=1): 
    s.write(data) 
modem = XMODEM(getc, putc) 

stream = open('file.txt', 'wb') 
modem.recv(stream) 
s.close() 
+0

不应该putc将返回写入的字节数? – andyn

+0

关于recv?我试图读取,但结果保持不变 – aldim

回答

0

我觉得你刚才打开的文件,但从来没有读过你的发送程序。

试试这个:

f = open('file.txt', 'rb') 

stream = f.readlines() 
+0

结果保持相同的兄弟:( – aldim