python读取usb串口数据

举报
一颗小树x 发表于 2021/11/25 18:04:22 2021/11/25
【摘要】 前言依赖包:serial安装方式:pip install pyserial前提:Python3.x环境案例1用读取“行”的方式,一行一行的数据。import serialimport time #打开串口serialPort="/dev/ttyUSB1" #串口baudRate=9600 #波特率ser=serial.Serial(serialPor...

前言

依赖包:serial

安装方式:pip install pyserial

前提:Python3.x环境


案例1

用读取“行”的方式,一行一行的数据。

import serial
import time 

#打开串口
serialPort="/dev/ttyUSB1"   #串口
baudRate=9600                    #波特率
ser=serial.Serial(serialPort,baudRate,timeout=0.5)  

#收发数据
while 1:
  read_data = ser.readline()
  if read_data !=0 :
    print("\nread_data:", read_data)

  # time.sleep(0.1)  # 延时0.1秒
ser.close() 


案例2

获取串口缓冲区数据的方式。

import serial 
import time 


ser = serial.Serial("/dev/ttyUSB1", 9600,timeout = 0.5) # 开启com3口,波特率230400,超时0.5
ser.flushInput() # 清空缓冲区

def main():
  while True:
    count = ser.inWaiting() # 获取串口缓冲区数据
    if count !=0 :
      recv = ser.read(ser.in_waiting).decode("gbk") # 读出串口数据,数据采用gbk编码
      print(" --- recv --> ", recv) # 打印数据

    time.sleep(0.05)  # 延时50ms



if __name__ == '__main__':
  main()

注意:需要自行查看USB在Linux系统分配的设备号,比如:/dev/ttyUSB1;然后在serialPort处修改即可。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。