python【串口操作】
2021/9/13 11:04:48
本文主要是介绍python【串口操作】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import serial import sys from time import sleep import time TELNET_RETURN = "\n" try: ser = serial.Serial("COM11", 115200,timeout=0, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS) except: sys.exit("Error connecting device") result=ser.write(TELNET_RETURN.encode())#写数据 # 串口要等0.5秒才有ser.inWaiting() > 0 for _ in range(10): print(time.strftime("%Y%m%d_%H_%M_%S", time.localtime())) queue = ser.inWaiting() if queue > 0: print(time.strftime("%Y%m%d_%H_%M_%S", time.localtime())) data = ser.read(1000) print (data) sleep(0.2) ser.close()
import serial # 导入模块 try: # 端口,GNU / Linux上的/dev/ttyUSB0 等 或 Windows上的 COM3 等 portx = "COM3" # 波特率,标准值之一:50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200 bps = 115200 # 超时设置,None:永远等待操作,0为立即返回请求结果,其他值为等待超时时间(单位为秒) timex = 5 # 打开串口,并得到串口对象 ser = serial.Serial(portx, bps, timeout=timex) # print("串口详情参数:", ser) # print(ser.port) # 获取到当前打开的串口名 # print(ser.baudrate) # 获取波特率 result = ser.write("我是东小东".encode("gbk")) # 写数据 print("写总字节数:", result) # print(ser.read())#读一个字节 # print(ser.read(10).decode("gbk"))#读十个字节 # print(ser.readline().decode("gbk"))#读一行 # print(ser.readlines())#读取多行,返回列表,必须匹配超时(timeout)使用 # print(ser.in_waiting)#获取输入缓冲区的剩余字节数 # print(ser.out_waiting)#获取输出缓冲区的字节数 # 循环接收数据,此为死循环,可用线程实现 while True: if ser.in_waiting: str = ser.read(ser.in_waiting).decode("gbk") if (str == "exit"): # 退出标志 break else: print("收到数据:", str) print("---------------") ser.close() # 关闭串口 except Exception as e: print("---异常---:", e)
这篇关于python【串口操作】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享