当前位置: 首页 > news >正文

即时设计生成网页seo联盟

即时设计生成网页,seo联盟,湘潭做网站 磐石网络优质,wordpress 163 授权码串口开发 安装模块:pyserial端口检查:uartDevice自定义文件:SerialMonitor.py导入自定义文件:SerialMonitor.py延伸阅读 安装模块:pyserial Pyserial 是 Python 中使用串口通信的一个第三方库,使用它可以方…

串口开发

  • 安装模块:pyserial
  • 端口检查:uartDevice
  • 自定义文件:SerialMonitor.py
  • 导入自定义文件:SerialMonitor.py
  • 延伸阅读

安装模块:pyserial

Pyserial 是 Python 中使用串口通信的一个第三方库,使用它可以方便地与设备进行数据交互。

  • 方法1: CMD指令
pip install pyserial
  • 方法2:PyCharm Community Edition的工程界面搜索导入
    详见【PyCharm Community Edition】:基础 中的模块安装

端口检查:uartDevice

获取串口相关信息:名称,属性等

import serial.tools.list_portswhile True:print("选择使用的串口通道号")port_list = list(serial.tools.list_ports.comports())#获取串口列表print("可用的COM端口:")portNames = []for i, p in enumerate(port_list): #枚举串口列表里面的信息,便于提示打印portNames.append(p.name)print("%d. %s"%(i + 1, p.name))print(p)#等待外界选择端口序号:uartDevice = input().strip() #strip()作用是输入字符串时删除字符串左右两端的空格’ ‘、换行符’\n’、制表符’\t’等print(uartDevice)try:uartDevice = int(uartDevice) #将uartDevice转换成十进制if uartDevice <= len(portNames) and uartDevice > 0:uartDevice = portNames[uartDevice - 1] #通过数值找出对应的端口名称比如:COM5breakelse:print("请选择正确的串口通道号")except:print("请选择正确的串口通道号")#这里最终得到uartDevice 的端口名称,比如:COM5

自定义文件:SerialMonitor.py

便于自己使用,可以聚合开发自己的串口服务函数。

# cython: language_level=3
from serial import *
import timeclass SerialMonitor():def __init__(self, port: str):#指定带入参数:port(类型为:字符串)self.port = portself.pwd = "mcu.v4"#与下位机通信时的密码字符def open(self):print("打开端口%s" % (self.port))self.serial = Serial(self.port, 460800, timeout=5)def close(self):self.serial.close()def setup(self):self.write()time.sleep(5)self.write(self.pwd)#发送解密指令time.sleep(0.2)self.write(self.pwd)time.sleep(0.2)# result = str(self.serial.read())# # command error# while len(result) > 0:#     self.write("Noch")#     time.sleep(0.2)#     result = str(self.read())# print(f'接收的反馈内容:{result}')print("解密成功")self.write("log ALL 0")#发送“log ALL 0”字符串result = str(self.serial.read())# command errorwhile '[ALL] -> [OFF]' not in result:#查询想要的字符串下位机反馈:“[ALL] -> [OFF]print('Resp Data is not expected:%s' % result, ' resend cmd:log ALL 0')time.sleep(1)self.write(self.pwd)time.sleep(0.2)self.write("log ALL 0")time.sleep(0.05)result = str(self.read())#读取串口获取的数据,转换成字符串print(f'接收的反馈内容:{result}')print("屏蔽所有的log成功")self.read()def read(self):return self.serial.read_all()def write(self, content: str = ""):content = "%s\r\n" % (content)content = bytes(content.encode("ascii"))# content = content.encode("ascii")self.serial.write(content)def flush(self):self.serial.flushInput()self.serial.flushOutput()

导入自定义文件:SerialMonitor.py

打开串口,并发送相关数据

from SerialMonitor import *serial = SerialMonitor(uartDevice)#注意uartDevice必须时端口名称,比如COM5
print("打开串口")
serial.open()#打开串口
serial.setup()#里面有一些列自定义操作

延伸阅读

  • 神奇的python(六)之python的串口操作(pyserial) 推荐:5星
serial = serial.Serial(‘COM1’, 115200) 打开COM1并设置波特率为115200,COM1只适用于Windows
print serial .portstr 能看到第一个串口的标识
serial.write(“hello”) 往串口里面写数据
serial.close() 关闭serial 表示的串口
serial.open() 打开串口
data = serial.read(num) 读num个字符
data = serial.readline() 读一行数据,以/n结束,要是没有/n就一直读,阻塞。
serial.baudrate = 9600 设置波特率
print serial 可查看当前串口的状态信息
serial.isOpen() 当前串口是否已经打开
serial.inWaiting() 判断当前接收的数据
serial.flushInput() 清除输入缓冲区数据
serial.flushOutput() 中止当前输出并清除输出缓冲区数据
http://www.yidumall.com/news/10897.html

相关文章:

  • 网站续费要多少钱seo的推广技巧
  • 教育培训类网站建设互联网推广是什么
  • wordpress tag name slug or id星链seo管理
  • 长清区政府网站建设前端开发
  • 网站做任务赚qb优化推广排名网站教程
  • 杭州软装设计公司哪家好庆云网站seo
  • 滨州正规网站建设价格刷评论网站推广
  • 武威市建设局网站 放管服东莞关键词优化平台
  • asp网站开发论文参考文献在线的crm系统软件
  • 合肥专门做网站网站一级域名和二级域名区别
  • 湖北省级建设主管部门网站可以投放广告的网站
  • 哪里有手机网站建设中国十大网站
  • 网站制作的评价指标中电商平台
  • PHP做的网站能容纳多少人网络营销策划案怎么写
  • 清远网站开发百度 营销推广费用
  • 小企业网站如何建设好百度竞价排名费用
  • html5可以做手机网站吗连云港seo公司
  • st3网站开发网站排名优化服务
  • 公司网站建站公司苏州网站建设
  • 建企业网站价格关键词seo排名怎么选
  • 重庆网约车哪个平台最好整站优化工具
  • 深圳网站建设公司哪家可以建app网站关键词排名优化系统
  • tag 网站备案企业邮箱入口
  • 厦门网站建设的公司哪家好连云港seo优化公司
  • 做外贸要看哪些网站互联网创业项目
  • 哪个网站做ppt赚钱医院线上预约
  • 网站策划案例seo竞价推广
  • 两个网站做响应式网站b站免费建网站
  • 福州自适应网站建设网络营销有本科吗
  • 外贸外链网站文大侠seo博客