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

时间:2023-03-08 19:49:26

本文采用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代码

 #encoding=utf-8

 from ctypes import *

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

 port = 2 # 指定串口COM2

 dll.sio_open(port)

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

 def cb(xmitlen, buflen, pbuf, flen):
print xmitlen, flen,
print
return xmitlen CALLBACK = WINFUNCTYPE(c_int, c_long, c_int, POINTER(c_char), c_long) ccb = CALLBACK(cb) dll.sio_FtYmodemTx(port, "e:\test.jpg", ccb, 0) dll.sio_close(port)