使用python操作串口
一、
为了使用python操作串口,首先需要下载相关模块:
1. pyserial (http://pyserial.wiki.sourceforge.net/pySerial)
2. pywin32 (http://sourceforge.net/projects/pywin32/)
二、
google “python 串口 操作”关键字,找到相关python代码,
我是从http://currentlife.blog.sohu.com/53741351.html页面上拷贝的代码。
咱得参考人家的代码修改。
三、
发送数据可用chr和pack组装处理,如:
snd = ''
snd += chr(97)
data = 0x12345678
snd += pack.('i', data)
snd += chr(0x64)
self.l_serial.write(snd);
#发送的数据是(16进制):61 78 56 34 12 64
接收的数据用ord函数,将字节内容变为整数,进行判断处理。
如:if ord(recv[2])== 0x01:
判断recv[2]是否是0x01.
注意:不能这样比较
if recv[2] == 'a':
pass
也不能这样比较
if recv[2] == 0x97:
pass
因为python的字符串存储机制我不清楚,所以不知道为什么这样比较不可以。
帖点代码,依据前面的参考代码修改的:
#coding=gb18030
import sys,threading,time;
import serial;
import binascii,encodings;
import re;
import socket;
from struct import *;
class ComThread:
def __init__(self, Port=0):
self.l_serial = None;
self.alive = False;
self.waitEnd = None;
self.port = Port;
def waiting(self):
if not self.waitEnd is None:
self.waitEnd.wait();
def SetStopEvent(self):
if not self.waitEnd is None:
self.waitEnd.set();
self.alive = False;
self.stop();
def start(self):
self.l_serial = serial.Serial();
self.l_serial.port = self.port;
self.l_se
相关文档:
编译Python脚本生成可执行程序,可以通过py2exe编译完成。
在VC中调用python时,可以结合py2exe,完成整个程序的独立发布^_^
google.py:
#! /usr/bin/env python
import sys, webbrowser
def main(a):
url = "http://www.google.com/search?q=%s" % a
webbrowser.o ......
在paramiko中使用用户名和密码通过sftp传输文件,不使用key文件。
import getpass
import select
import socket
import traceback
import paramiko
def putfile():
#import interactive
# setup logging
paramiko.util.log_to_file('demo.log')
username = username
hostname = hostname
......
简单加密,用python来写写。
#coding=utf-8
'''
Description: 可逆的加密与解密
Environment: python2.5.x
Author:idehong@gmail.com
'''
import os
import sys
class Code(object):
'''可逆的加密与解密'''
def __init__(self, key = "idehong@gmail.com"):
self.__src_key ......
为了从字符串中提取时间,并进行比较,因此有了这个问题,如何将字符串转换成datetime类型
1.字符串与time类型的转换
>>> import time
>>> timestr = "time2009-12-14"
>>> t = time.strptime(timest ......
Python 3 输出重定向使用C/C++
By:gddsky
目标
希望将Python 3的输出重定向到自定义的输出目标。
核心
Python使用sys.stdout、sys.stderr做输出目标,只要我们替换这两个值就可以重定向到我们自定义目标。替换的值的规则在Python的文档中sys (module)的sys.stdout上面说明只要添加一个write函数就可以 ......