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

yipeiwu_com6年前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)

相关文章

用Python读取几十万行文本数据

我在使用python读取几十万行的文件中的数据,并构造字典,列表等数据结构时,再访问字典,列表时,一般都会出现内存不够的问题,然后只能循环读取几百行或者一定数量的行数来循环操作。 k...

Python列表(List)知识点总结

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列...

Linux下远程连接Jupyter+pyspark部署教程

博主最近试在服务器上进行spark编程,因此,在开始编程作业之前,要先搭建一个便利的编程环境,这样才能做到舒心地开发。本文主要有以下内容: 1、python多版本管理利器-pythonb...

python正则实现提取电话功能

本文实例为大家分享了python正则提取电话的具体代码,供大家参考,具体内容如下 主要用到正则 import re import xlrd def is_number(s):#是...

Python使用reportlab模块生成PDF格式的文档

(1)使用python生成pdf文档需要的最基本的包是pdfgen。它属于reportlab模块,而reportlab模块并没有默认集成到python的安装包中,所以需要安装该模块。 (...