iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python serial读串口
  • 768
分享到

python serial读串口

串口pythonserial 2023-01-31 03:01:22 768人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

由于项目需求,需要从传感器节点和GPS中读取数据,所以学习了如何用python读串口。 Python提供了pySerial,linux和windows下有相应的模块 linux版本: pyserial (Http://pyserial.w

由于项目需求,需要从传感器节点和GPS中读取数据,所以学习了如何用python读串口。

Python提供了pySerial,linuxwindows下有相应的模块

linux版本: pyserial (Http://pyserial.wiki.sourceforge.net/pySerial)   (在我的虚拟机ubuntu 12.04 LTS 版本中好像已经自带)

windows版本: pywin32 (http://sourceforge.net/projects/pywin32/) 下载直接安装

先看一个例子:

import serial
ser = serial.Serial('/dev/ttyTX0', 9600, timeout=1)
while True:
    data = ser.read(100)
    print repr(data)


1、读串口步骤:

实例化 --> 设置 (当然可以一步完成)

2、serial详解

2.1 serial类原型
ser = serial.Serial(
port=None,              # number of device, numbering starts at
# zero. if everything fails, the user
# can specify a device string, note
# that this isn't portable anymore
# if no port is specified an unconfigured
# an closed serial port object is created
baudrate=9600,          # baud rate
bytesize=EIGHTBITS,     # number of databits
parity=PARITY_NONE,     # enable parity checking
stopbits=STOPBITS_ONE,  # number of stopbits
timeout=None,           # set a timeout value, None for waiting forever
                              #zero, non-blocking mode, return immediately on read 
xonxoff=0,              # enable software flow control
rtscts=0,               # enable RTS/CTS flow control
interCharTimeout=None   # Inter-character timeout, None to disable
)
注;Port可以用数字表示。COM1为 0,COM2为1 .......
也可以实用绝对路径:ser.port = '/dev/ttySAc2' 
timeout说明(None和 0不同):
timeout = None: 长时间等待
timeout = 0: 不阻塞形式 (读完之后就返回)
timeout = x: x秒后超时 (float allowed)


2.2 Serial方法:
open()                  # open port
close()                 # close port immediately
setBaudrate(baudrate)   # change baud rate on an open port
inWaiting()             # return the number of chars in the receive buffer
read(size=1)            # read "size" characters
write(s)                # write the string s to the port
flushInput()            # flush input buffer, discarding all it's contents
flushOutput()           # flush output buffer, abort output
sendBreak()             # send break condition
setRTS(level=1)         # set RTS line to specified logic level
setDTR(level=1)         # set DTR line to specified logic level
getCTS()                # return the state of the CTS line
getDSR()                # return the state of the DSR line
getRI()                 # return the state of the RI line
getCD()                 # return the state of the CD line

2.3 Serial 实例属性
portstr                 # device name
BAUDRATES               # list of valid baudrates
BYTESIZES               # list of valid byte sizes
PARITIES                # list of valid parities
STOPBITS                # list of valid stop bit widths
以下属性可以改变,即使在端口打开时也可以重新赋值
port                    # port name/number as set by the user
baudrate                # current baud rate setting
bytesize                # byte size in bits
parity                  # parity setting
stopbits                # stop bit with (1,2)
timeout                 # timeout setting
xonxoff                 # if Xon/Xoff flow control is enabled
rtscts                  # if hardware flow control is enabled

3.简单实例

import serial
ser = serial.Serial()
def hexShow(argv):
    result = ''
    hLen = len(argv)
    for i in xrange(hLen):
        hvol = ord(argv[i])
        hhex = '%02x'%hvol
        result += hhex+' '
        print 'hexShow:',result
ser.baudrate = 57600
ser.port = '/dev/ttySAC2'

ser.open()
readstr = ser.read(20)
print ser.portstr
hexShow(readstr)

执行结果如图:


--结束END--

本文标题: python serial读串口

本文链接: https://www.lsjlt.com/news/187529.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python serial读串口
    由于项目需求,需要从传感器节点和GPS中读取数据,所以学习了如何用python读串口。 python提供了pySerial,Linux和windows下有相应的模块 linux版本: pyserial (http://pyserial.w...
    99+
    2023-01-31
    串口 python serial
  • 【python】之serial模块,读写串口数据!
    串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。pyserial模...
    99+
    2023-09-13
    python pip
  • python读写串口
    #!/usr/bin/python import serial from time import sleep ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=0.5) print ...
    99+
    2023-01-31
    串口 python
  • linux中serial串口怎么打开
    在Linux中,可以使用以下命令打开serial串口: 使用ls /dev/命令查看所有设备文件,找到对应的串口设备文件。通常串口...
    99+
    2023-10-24
    linux
  • Python 串口读写实现
    #Python 串口读写实现 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:12951803 1.安装pyserial https://pypi.python.org/pypi/p...
    99+
    2023-01-31
    串口 Python
  • PyQt5+serial模块实现一个串口小工具
    目录串口简述serial模块参数方法使用模板串口工具示例串口简述 异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用...
    99+
    2023-01-13
    PyQt5 serial串口工具 PyQt5 串口工具 PyQt5 serial串口 PyQt5 serial串口
  • python怎么读取uart串口
    要读取UART串口数据,可以使用Python的`serial`库。首先,你需要安装`pyserial`库,可以使用以下命令进行安装:...
    99+
    2023-10-27
    python
  • python如何读取串口数据
    在Python中,可以使用第三方库pyserial来读取串口数据。首先需要安装pyserial库,可以使用pip安装: pip in...
    99+
    2024-04-02
  • python怎么读取保存串口数据
    在Python中,可以使用pySerial库来读取和保存串口数据。以下是一个简单的示例代码: import serial # 打开...
    99+
    2024-04-02
  • Android 沾包处理,以串口接入为例 (usb-serial-for-android)
    1. 前言 我们在通过串口、TCP、UDP等方式接收协议的时候,由于单次接收数据有限,导致一条命令可能被分割成多次进行接收。 这种情况下,就需要进行沾包处理,使多次接收的数据,合并成一条数据。本文通过...
    99+
    2023-09-10
    android
  • php_dio读取串口数据
    php_dio读取串口数据 一、运行环境 php_dio.dll需要找到与PHP版本相匹配的版本,下载后打开扩展完成安装。 下载地址phpStudy2018 切换到PHP 7.0.12-NTS。(更...
    99+
    2023-09-24
    php 开发语言
  • python serial 模块使
    一、概述     pyserial模块封装了对串口的访问。 二、特性     在支持的平台上有统一的接口。     通过python属性访问串口设置。     支持不同的字节大小、停止位、校验位和流控设置。     可以有...
    99+
    2023-01-31
    模块 python serial
  • Python的串口
    要使用python中的串口,可以下载pywin32-224-cp36-cp36m-win_amd64.whl去安装或者pip install去安装。 调试下来,有一点很不爽,读取read()数据的timeout时间最小单位是秒,这对应很频...
    99+
    2023-01-30
    串口 Python
  • Python操作串口
    首先需确保安装了serial模块,如果没安装的话就安装一下python-pyserial。 一个Python实现的串口Echo import serial import sys try: ser = serial.Serial('/d...
    99+
    2023-01-31
    串口 操作 Python
  • Python3 串口两进程同时读写
    通过两个进程分别读写串口,并把发送与接收到的内容记录在blog中,收到q时程序结束并退出import threading,time import serial import string class SerThread: de...
    99+
    2023-01-31
    串口 进程
  • Android实现读写USB串口数据
    本文实例为大家分享了Android实现读写USB串口数据的具体代码,供大家参考,具体内容如下 最近在研究USB方面的内容;先后做了关于Android读写HID、串口设备的DEMO。本...
    99+
    2024-04-02
  • linux串口读写异步怎么实现
    在Linux系统中,可以使用文件IO的方式来实现串口的读写操作。具体的步骤如下:1. 打开串口设备文件: 使用`open()`函数来...
    99+
    2023-09-16
    linux
  • Python的串口通信(pyserial
    串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。pyserial...
    99+
    2023-01-31
    串口 通信 Python
  • Python串口编程(转载)
    python的串口网上有很多例子,这里了只是把认为好的整理到一起。 首先,应该安装serial模块,还能开始后续的操作。我用的python2.6,serial模块可以在这里下载安装serial模块下载 1,字符串的发送接收 短接串口的...
    99+
    2023-01-31
    串口 Python
  • java读写串口数据你了解多少
    目录1.导入支持java串口通信的jar包:2.编写代码操作串口:总结最近接触到了串口及其读写,在此记录java进行串口读写的过程。 1.导入支持java串口通信的jar包: 在ma...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作