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代码
#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调用Moxa PCOMM Lite通过串口Ymodem协议发送文件的更多相关文章
- ZYNQ使用ymodem协议传输文件
SDK: V2014.4 协议: Ymodem 工具: USB转UART转接线.xshell6软件 可实现各种文件传输,大小不限,只是速度很慢 参考原代码如下: /****************** ...
- Python编程实现USB转RS485串口通信
---作者吴疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- -----------点击此处链接至博客园原文----------- 功能说明:Python编程 ...
- 【初学python】使用python调用monkey测试
目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1 ...
- python调用py中rar的路径问题。
1.python调用py,在py中的os.getcwd()获取的不是py的路径,可以通过os.path.split(os.path.realpath(__file__))[0]来获取py的路径. 2. ...
- python调用其他程序或脚本方法(转)
python运行(调用)其他程序或脚本 在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码.为了更好地 ...
- python调用c\c++
前言 python 这门语言,凭借着其极高的易学易用易读性和丰富的扩展带来的学习友好性和项目友好性,近年来迅速成为了越来越多的人们的首选.然而一旦拿python与传统的编程语言(C/C++)如来比较的 ...
- Python调用C++
/***gcc -o libpycall.so -shared -fPIC pycall.c*/ #include <stdio.h> #include <stdlib.h> ...
- 使用Python调用Flickr API抓取图片数据
Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...
- python调用zabbix接口实现Action配置
要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...
随机推荐
- Ubuntu 12.04 升级到14.04之后,pidgin-sipe 出现的问题: Trouble with the pidgin and self-signed SSL certificate
Once again, I run into trouble when upgrading my LinuxMint. In last few days, my Linux mint notifies ...
- 分布式助手Zookeeper(三)
分布式助手Zookeeper(三)博客分类: Zookeeper zookeeperapi操作zookeeper 本篇,散仙要介绍一下基于zookeeper的一些API的编程. 在此之前,我们先来熟悉 ...
- Ubuntu 12.04 root默认密码? 如何使用root登录?
在安装Ubuntu 12.04时并没有设置root的密码,登录的时候也没有使用root账户.当我们使用root权限时,一般都使用sudo命令进行.那么当我们安装完毕Ubuntu 12.04时,root ...
- html笔记04:在html之中导入css两种常见方法
1.导入式: <html> <head> <title></title> <style type="text/css"> ...
- 使用WebView显示网页
简单的页面跳转 package com.example.webtest; import java.security.PublicKey; import android.support.v7.app.A ...
- Hibernate的fetch (转)
fetch ,可以设置fetch = "select" 和 fetch = "join" 用一对多来举例: fetch = "select" ...
- PB中用回车键实现tab键的功能
先编辑控件的TabOrder顺序,然后在 global external functions 中定义一个API:Subroutine keybd_event(int bVk,int bScan,ulo ...
- 仿主题广告轮播js
function SlideShow(c) { var a = document.getElementById("slide"); var f = document.getElem ...
- 关于添加非系统framework后,import导入头文件时没有提示的解决办法
##1.选择target(就是左边你的工程target)—— BuildSettings —— search Paths 下的 User Header Search Paths(如图所示: ##2.双 ...
- UIView的frame和bounds区别
UIView的frame和bounds区别 iOS中,大家肯定对view和frame都不陌生,我们设置view在父view中的位置和大小时,只需要设置frame就可以了. 可能大家也有查过网上的一些资 ...