pySerial 学习笔记-安装与测试

原创 2015年11月21日 17:08:08

pySerial官网介绍
pySerial API介绍

安装

环境:
win7 64位
python-3.43rc1(32)

使用pip进行安装:

pip install pyserial

测试

安装官网的测试程序进行测试,出现字符编码问题。


>>> import serial
>>> ser = serial.Serial(2)
>>> print (ser.name)
COM3
>>> ser.write("hello")
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    ser.write("hello")
  File "C:\Python34\lib\site-packages\serial\serialwin32.py", line 283, in write
    data = to_bytes(data)
  File "C:\Python34\lib\site-packages\serial\serialutil.py", line 76, in to_bytes
    b.append(item)  # this one handles int and str for our emulation and ints for Python 3.x
TypeError: an integer is required

根据错误提示,查找原因及解决方法:
解决方法
网上已经给出了合理的解释:

Previous versions of Python did a lot of the string to bytes conversion for you (personally I liked the old methods quite a lot). Nowadays, in Python3+ you need to handle the data-type conversion yourself depending on your output/input, which makes more sense even though I hate it…
This goes for sockets and numerous other objects as well.
So in order to send data via serial or sockets, all you need to do is convert your string into a bytes object. Do this by declaring b”this is bytes” or bytes(MyString, ‘UTF-8’).

根据解决方法,进行修改:

>>> import serial
>>> ser = serial.Serial(2)
>>> print(ser.name)
COM3
>>> ser.write(b'hello')
5
>>> ser.write('hello'.encode('utf-8'))
5
>>> ser.write('hello'.encode('ascii'))
5
>>> ser.close()

这一次,可以正常的使用串口进行通信,其中 write() 函数的返回值是我们发送数据的长度。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【PythonDjango后台实例 第四章】Python3.6.1+Bootstrap3+echarts 在HTML网页中使用echarts展示图表

本文章解决的问题如下: 能够在Django框架下使用echarts.js制作简单的可视化展示 本文章环境需要: echarts官方主页 : http://echarts.baidu.com/ind...

使用python来调试串口

转自 : http://www.cnblogs.com/pied/p/4175641.html 串口模块的波特率比较特别,找了几个串口工具都不支持。。。所以,干脆用python自己来...

Python读取串口数据注意

1、安装串口库 2、采用默认通信参数 import serial t = serial.Serial('com1',9600) n = t.write('you are my world') pr...

Python 串口设备应用

1. Python 串口设备应用 简述 1.1. 线程轮寻  风尘无限  -- 分享 就是打开串口后,启动一个线程来监听串口数据的进入,有数据时,就做数据的处理(也可以发送一个事件,并携带接收到的数据...

Python语言串口的操作

1.简介 Python中有专门的串口操作模块pySerial,使用非常简单。 pySerial的资源网址https://pypi.python.org/pypi/pyserial, github资源和...

使用python来调试串口

串口模块的波特率比较特别,找了几个串口工具都不支持。。。所以,干脆用python自己来写了,其实已经好奇好久了,别人的工具各种不顺手。需要pyserial的支持,兼容各种平台,不需要新编译二进制文件。...

python中pyserial模块使用方法

一、概述     pyserial模块封装了对串口的访问。 二、特性     在支持的平台上有统一的接口。     通过python属性访问串口设置。     支持不同的字节...

70个流行的AJAX应用的演示和源码下载

Ajallerix : AJAX, simple, fast Web image gallery demo ; at Novell AJAX - microlink pattern tutor...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)