【PyCharm Community Edition】:串口开发

这篇具有很好参考价值的文章主要介绍了【PyCharm Community Edition】:串口开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装模块:pyserial

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

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

端口检查:uartDevice

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

import serial.tools.list_ports

while 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] #通过数值找出对应的端口名称比如:COM5
            break
        else:
            print("请选择正确的串口通道号")
    except:
        print("请选择正确的串口通道号")
   #这里最终得到uartDevice 的端口名称,比如:COM5

自定义文件:SerialMonitor.py

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

# cython: language_level=3
from serial import *
import time


class SerialMonitor():
    def __init__(self, port: str):#指定带入参数:port(类型为:字符串)
        self.port = port
        self.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 error
        while '[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

打开串口,并发送相关数据文章来源地址https://www.toymoban.com/news/detail-701551.html

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() 中止当前输出并清除输出缓冲区数据

到了这里,关于【PyCharm Community Edition】:串口开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 环境搭建,集成开发环境IDE: PyCharm

    今天我要和大家分享一个非常有趣的话题——Python开发环境搭建。在我们的日常生活中,图片处理已经成为了一个非常常见的需求,无论是修图、美颜还是进行一些创意合成,都离不开图片处理。而Python作为一门功能强大的编程语言,在图片处理方面也能够发挥出其独特的优

    2024年02月08日
    浏览(85)
  • 面向专业开发者的Python IDE——PyCharm,各个版本如何抉择?

    PyCharm是一个专业的Python集成开发环境(IDE),为Python开发人员提供了广泛的基本工具,紧密集成为高效的Python、Web和数据科学开发创建了一个方便的环境。 PyCharm v2022.2正式版下载 (技术交流Q:786598704) 选择最适合自己的PyCharm版本 PyCharm有三个版本: 社区版 (免费且开源):用

    2024年02月08日
    浏览(57)
  • pycharm professional和community

    PyCharm Professional和Community是JetBrains开发的PyCharm IDE(集成开发环境)的两个不同版本。 PyCharm Professional:这是PyCharm的付费版本,为专业开发人员提供高级功能和工具。它包括对web开发、数据库集成、科学工具、远程开发等的支持。PyCharm Professional还支持Django、Flask和Pyramid等流行

    2024年02月06日
    浏览(39)
  • Python开发IDE的比较:PyCharm vs. VS Code vs. Jupyter

    Python开发IDE的比较:PyCharm vs. VS Code vs. Jupyter Python开发社区中已经存在了相当长时间的持续争论:PyCharm vs. VS Code vs. Jupyter。 PyCharm:专业人士的选择 让我们从PyCharm开始。它是一个功能强大的集成开发环境(IDE),通常被认为是专业Python开发的首选工具。 凭借其强大的功能集

    2024年02月07日
    浏览(54)
  • Python IDE Pycharm服务器配置方法并结合内网穿透工具实现远程开发

    本文主要介绍如何使用Pycharm进行远程开发,并实现在家远程与公司服务器资源同步。 新版本 Jetbrains 系列开发IDE( IntelliJ IDEA , PyCharm , GoLand )等都支持远程使用服务器编译,并且可以 通过SFTP同步本地与服务器项目代码 。 这样做的好处是**我们只要连接上服务器就能开始

    2024年02月04日
    浏览(64)
  • Window安装Python和开发Pycharm

    准备:  1:安装Python环境    https://www.python.org/downloads/windows/ 2:  下载Pycharm   https://www.jetbrains.com/pycharm/download/other.html 

    2024年01月22日
    浏览(50)
  • 一文搞定Windows11+WSL+Pycharm开发环境及避坑

    众所周知,虽然Windows和Linux都可以运行Python,但是对很多Python扩展包的支持是不一样的。 比如 深度学习相关的pytorch 比如 自动化运维相关的ansible 小编本人也尝试将Ubuntu作为自己的主系统,并且为了逼自己适应,硬是将自己三台电脑(家里台式、笔记本、公司台式)全部装上

    2024年02月11日
    浏览(68)
  • 【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南

    给本科生写的新手教程,遇到很多新手的共性问题,可供大家参考。在开始阅读之前,请注意两个要关键:1.为什么要使用Conda而不在本地直接安装Python,体会Conda带来的区别和优势。2.明确CUDA版本和torch-gpu版的兼容情况。 1.1 Conda简介 Conda是一个开源的 软件包管理系统和环境

    2024年02月03日
    浏览(46)
  • python简单使用【mac-ide:pycharm】

    一、Mac下安装并配置python3开发环境 点我查看python及pycharm下载安装、环境配置 二、pycharm常用快捷键记录 1 全局搜索 2 增加行/ 复制选中的代码 3 删除行 /剪切 4 格式化代码 5 执行程序 eg : 在py文件里输入 print(‘hello’) 输入快捷键后可直接打印在控制台,或者右键点击运行

    2024年02月13日
    浏览(48)
  • pycharm右下角出现IDE error occured

    在使用pycharm运行程序的时候,右下角出现了IDE error occured,see detail submit display的提示 解决方案: 在PyCharm中出现“IDE error occurred”的错误提示通常是由于程序崩溃或Python解释器故障引起的。以下是可能导致此错误的一些常见原因和解决方案: 1 问题插件:有些PyCharm插件可能

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包