|
|

楼主 |
发表于 2018-6-6 08:02:37
|
显示全部楼层
- #coding=utf-8
- import time
- import serial
- def sleep(mytime): #sleep为函数名
- time.sleep(mytime)
- ser=serial.Serial ('COM6') #选择串口
- ser.baudrate=115200 #配置波特率
- ser.bytesize =8 #配置数据位数
- ser.stopbits = 1 #配置停止位
- ser.parity=serial.PARITY_NONE #配置奇偶校验位
- i = 0
- data = ''
- d = c.encode(encoding="utf-8")
- print (type(d)) #d 是字节
- ser.write(d)
- print (ser.portstr)
- if 0:
- a = input(r"请输入您要显示的内容:")
- b = a.encode(encoding="utf-8")
- ser.write(b)
- elif 1:
- while 1:
- # i=i+1
- # a=('DS24 80,80, count:%d \r\n'%i)
- # b = a.encode(encoding="utf-8")
- # ser.write(b)
- data = ser.read(2) #读取10个字节
- print(type(data))
- data = data.decode('utf-8')
- print(type(data))
- print(data)
- sleep(1)
复制代码
以上就是源代码了,发送都是好用的,就是读取报错
运行结果:
<class 'bytes'>
COM6
<class 'bytes'>
Traceback (most recent call last):
File "C:\Users\PC\Desktop\工程\python工程\积累\串口屏上位机\串口屏上位机计数\串口屏上位机.py", line 36, in <module>
data = data.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
打印出来了读取的数据类型,说明读取成功,当我想将data解码成unicode码的时候,就会出错了
我在网上找了许多解决方法,都没有成功,会不会是我单片机输出字符的编码有问题 |
|