0
我通過USB仿真串行線(FT2232HL)與我的硬件通信。我需要使用pySerial和Python Imaging Library將位圖發送給它。這裏是代碼:pyserial輸入緩衝區
#!/usr/bin/python2
from PIL import Image
import serial
import string
img = Image.open("db/bitmap.bmp")
img = img.convert("L")
img = img.tostring()
print "img length: " + `len(img)`
device = serial.Serial("/dev/ttyUSB1", 115200, timeout=30)
device.write(size)
device.write(img) #the bitmap has about 40kB
print "image written"
問題是它不起作用。我設置了一個迴環,用cutecom捕捉它,但似乎只傳輸了大約30kB(cutecom日誌的大小)。我還嘗試了另一個硬件(帶有F5U103v的Belkin usb串行轉換器),結果相同。我想這可能是一些io緩衝區,但我找不到任何有關它的信息。
編輯:第一個cutecom日誌(包含從回送接收的數據)的大小是32725字節(正好發送42126字節)。當我在不截斷日誌文件的情況下運行腳本兩次時,它的大小爲81838字節。我也檢查了device.write()
呼叫的返回值,這正是42126.