python串口程序_基于Python的串口通信(1)

基于Python的串口通信

1Pyserial

1.1安装pyserial

1.1.1source安装

(1)

下载pySerial

2.6版本:

2.7版本

最新版本(目前为3.1版本):

(2)

解压

命令解压

cd /xxx/xxx/pyserial-2.6.tar.gz(以2.6版本为例,切换到相关文件所在目录)

tar zxvf pyserial-2.6.tar.gz

手动解压(Mac下像.zip类的格式一般会在Safari下载完成后自动解压)

(3)

安装serial

module

cd /xxx/xxx/pyserial-2.6(切换到解压后的文件所在目录)

sudo python setup.py install(加sudo以避免权限问题:”Permission denied...”)

1.1.2pip安装

(1)

方法一:

sudo pip install pyserial

注:上图中之所以写成pip2是因为系统里除了自带的Python2外,还装了Python3(pip3为默认pip),而安装是在Python2环境下进行的。

(2)

方法二:

sudo apt-get install -y python-pip

sudo pip install -y pySerial

1.2serial通信测试

在Terminal中进行如下测试:

Last login: Mon Aug 8 09:23:28 on ttys000

FUCK:~ Weiding$ ls /dev/tty.usb*

/dev/tty.usbmodem1431

FUCK:~ Weiding$ python -m serial.tools.list_ports

/dev/cu.Bluetooth-Incoming-Port

/dev/cu.Bluetooth-Modem

/dev/cu.usbmodem1431

3 ports found

FUCK:~ Weiding$ python

Python 2.7.10 (default, Jul 14 2015, 19:46:27)

[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> import serial

>>> ser = serial.Serial('/dev/tty.usbmodem1431',115200,timeout=0.5)

# Windows下只是端口名不同(COMX):ser = serial.Serial("COM6", 115200)

>>> ser

Serial(port='/dev/tty.usbmodem1431', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=0.5, xonxoff=False, rtscts=False, dsrdtr=False)

>>> ser.isOpen()

True

>>> ser.write('A')

1

>>> ser.read()

''

>>> ser.inWaiting()

0

>>> ser.write('[FSN]')

5

>>> ser.inWaiting()

23

>>> ser.read()

'<'

>>> ser.inWaiting()

22

>>> ser.read(22)

'fsn-DLC51520U1PG2DVAL>'

>>> ser.inWaiting()

0

>>> ser.close()

>>> ser

Serial(port='/dev/tty.usbmodem1431', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=0.5, xonxoff=False, rtscts=False, dsrdtr=False)

>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值