2013-07-19 173 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