python调用Moxa PCOMM Lite通过串口Ymodem协议发送文件

本文采用python 2.7编写。

经过长期搜寻,终于找到了Moxa PCOMM Lite。调用PCOMM.DLL可以非常方便的通过串口的Xmodem、Ymodem、Zmodem等协议传输文件,而无需重复制造轮子。

PCOMM Lite 1.6适用于win7等系统,做为dll文件可以采用任何支持调用dll的编程语言例如VC++、VB、Qt等等编写应用程序,下载地址为

http://www.moxa.com/drivers/pcommlite/win2k/setup_pcommlite_1.6_12041917.zip

以下是发送端的python代码

 1 #encoding=utf-8

 2 

 3 from ctypes import *

 4 

 5 dll = windll.LoadLibrary("PCOMM.DLL")

 6 

 7 port = 2 # 指定串口COM2

 8 

 9 dll.sio_open(port)

10 

11 dll.sio_ioctl(port, 15, 0x00 | 0x03 | 0x00) # 57600, 无校验,8位数据位,1位停止位

12 

13 def cb(xmitlen, buflen, pbuf, flen):

14     print xmitlen, flen,

15     print 

16     return xmitlen

17 

18 CALLBACK = WINFUNCTYPE(c_int, c_long, c_int, POINTER(c_char), c_long)

19 

20 ccb = CALLBACK(cb)

21 

22 dll.sio_FtYmodemTx(port, "e:\test.jpg", ccb, 0)

23 

24 dll.sio_close(port)

你可能感兴趣的:(python)