USB 에뮬레이트 된 직렬 회선 (FT2232HL)을 통해 내 HW와 통신합니다. 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 로그의 크기). 나는 또 다른 하드웨어 (Belkin usb-serial converter with F5U103v)를 사용하여 동일한 결과를 얻었다. 나는 약간의 io 버퍼가 될 수 있다고 생각하지만 그것에 관한 정보를 찾을 수 없었다.
EDIT : 루프백에서 수신 한 데이터가 들어있는 첫 번째 cutecom 로그의 크기는 32725 바이트 (정확히 42126 바이트를 전송)입니다. 로그 파일을 자르지 않고 스크립트를 두 번 실행하면 크기는 81838 바이트가됩니다. 또한 device.write()
호출의 반환 값을 확인했는데 정확하게 42126입니다.