本文采用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)
posted on 2014-08-15 09:18  yongxiang  阅读(1445)  评论(0编辑  收藏  举报