python 串口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 串口相关的知识,希望对你有一定的参考价值。

import serial
ser=serial.Serial(2)
错误:'module' object has no attribute 'Serial'
我安装了serial模块的啊2.7的怎么不对呢
help> serial
problem in serial - AttributeError: 'module' object has no attribute 'Serial'

help(serial)看一下帮助里面的属,要区分大小写 参考技术A 不会呀。你下载了pyserial合适的版本安装后,应该可以使用的,你dir看一下。
另外,2是说你的串口是第三个串口? 如果你用windows,用com3应该也可以把?

Serial也是serial的属性呀。
['CR', 'EIGHTBITS', 'FIVEBITS', 'FileLike', 'LF', 'PARITY_EVEN', 'PARITY_MARK',
'PARITY_NAMES', 'PARITY_NONE', 'PARITY_ODD', 'PARITY_SPACE', 'SEVENBITS', 'SIXBI
TS', 'STOPBITS_ONE', 'STOPBITS_ONE_POINT_FIVE', 'STOPBITS_TWO', 'Serial', 'Seria
lBase', 'SerialException', 'SerialTimeoutException', 'VERSION', 'Win32Serial', '
XOFF', 'XON', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '
__package__', '__path__', 'ctypes', 'device', 'io', 'os', 'portNotOpenError', 'p
rotocol_handler_packages', 'serial_for_url', 'serialutil', 'serialwin32', 'sys',
'to_bytes', 'win32', 'writeTimeoutError']本回答被提问者和网友采纳
参考技术B ser=serial.Serial("com2")

Python 操作串口

 import serial导入模块

然后就可以用了

ser = serial.Serial(0) 是打开第一个串口

print ser.portstr 能看到第一个串口的标识,windows下是COM1

ser.write(“hello") 就是往串口里面写数据

ser.close() 就是关闭ser表示的串口

ser.open() 会打开这个串口

ser = serial.Serial(COM1, 115200) 来设置波特率,当然还有专门的函数

data = ser.read()可以读一个字符

data = ser.read(20) 是读20个字符

data = ser.readline() 是读一行,以/n结束,要是没有/n就一直读,阻塞。

data = ser.readlines()和ser.xreadlines()都需要设置超时时间

ser.baudrate = 9600 设置波特率

ser 来查看当前串口的状态

ser.isOpen() 看看这个串口是否已经被打开




import serial
ser = serial.Serial(COM3)
ser.setBaudrate(9600)
ser.setByteSize(8)
ser.setStopbits(1)
print ser.portstr
data = ser.readline(0,\r\n)
data = ser.read(20)
print data

 

以上是关于python 串口的主要内容,如果未能解决你的问题,请参考以下文章

python对串口蓝牙模块的操作

python的pyserial读取串口占用状态?

有人会 用python的 pySerial 进行串口通信的吗

如何用python写个串口通信的程序

Python 操作串口

python - serial communication(串口通信)