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

yipeiwu_com5年前Python基础

本文实例讲述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等等编写应用程序,点此本站下载

以下是发送端的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)

相关文章

Django外键(ForeignKey)操作以及related_name的作用详解

Django外键(ForeignKey)操作以及related_name的作用详解

之前已经写过一篇关于Django外键的文章,但是当时并没有介绍如何根据外键对数据的操作,也就是如何通过主表查询子表或者通过子表查询主表的信息 首先我定义了两个模型,一个是老师模型,一个是...

Python3 修改默认环境的方法

Mac 环境中既有自带的 Python2.7 也有自己安装的 Python 3.5.1,默认想用 Python3 的环境 1. 添加 Python3 的环境变量 vi ~/.bash...

Django中url的反向查询的方法

Django中url的反向查询的方法

本文介绍了Django中url的反向查询的方法,分享给大家,具体如下: 明确几个概念: 1、application namespace : 正在部署的app的名称,一个app的多个...

用python实现k近邻算法的示例代码

K近邻算法(或简称kNN)是易于理解和实现的算法,而且是你解决问题的强大工具。 什么是kNN kNN算法的模型就是整个训练数据集。当需要对一个未知数据实例进行预测时,kNN算法会在训...

详解Django中六个常用的自定义装饰器

装饰器作用 decorator是当今最流行的设计模式之一,很多使用它的人并不知道它是一种设计模式。这种模式有什么特别之处? 有兴趣可以看看Python Wiki上例子,使用它可以...