码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python调用串口发送数据


    为了通过python编程控制串口发送数据给单片机,编写此程序

    1. # !/usr/bin/env python
    2. # -*- coding: utf-8 -*-
    3. """
    4. # ============================================================
    5. # @Date : 2022/05/16 21:50:12
    6. # @Author : miles
    7. # @Email : lishan@st.xatu.edu.cn
    8. # @File : serial_demo.py
    9. # @IDE : PyCharm
    10. # @Func : Describes the function of the file
    11. # ============================================================
    12. """
    13. import time
    14. import serial.tools.list_ports
    15. if __name__ == '__main__':
    16. # 读取串口列表
    17. ports_list = list(serial.tools.list_ports.comports())
    18. if len(ports_list) <= 0:
    19. print("无串口设备")
    20. else:
    21. print("可用的串口设备如下: ")
    22. print("num\t\tname\t\t\t\t\t\tnumber")
    23. for i in range(len(ports_list)):
    24. comport = list(ports_list[i])
    25. comport_number, comport_name = comport[0], comport[1]
    26. print("%s\t\t%s\t\t%s" % (i, comport_name, comport_number))
    27. # 打开串口
    28. port_num = ports_list[0][0]
    29. print("默认选择串口: %s" % port_num)
    30. # 串口号: COM3, 波特率: 115200, 数据位: 7, 停止位: 2, 超时时间: 0.5秒
    31. ser = serial.Serial(port=port_num, baudrate=115200, bytesize=serial.SEVENBITS, stopbits=serial.STOPBITS_TWO,
    32. timeout=0.5)
    33. if ser.isOpen():
    34. print("打开串口成功, 串口号: %s" % ser.name)
    35. else:
    36. print("打开串口失败")
    37. # 串口发送数据
    38. data = "%d:%d" % (130, 1)
    39. print("发送数据: %s" % data)
    40. write_len = ser.write(data.encode('utf-8'))
    41. print("串口发出{}个字节".format(write_len))
    42. # 读取串口输入信息并输出
    43. while True:
    44. t = time.time()
    45. print("\r%.2f 等待串口接收数据......" % t, end="")
    46. com_input = ser.read(10)
    47. if com_input:
    48. print(com_input)
    49. break
    50. # 关闭串口
    51. ser.close()
    52. if ser.isOpen():
    53. print("串口未关闭")
    54. else:
    55. print("串口已关闭")

     

  • 相关阅读:
    代码随想录一刷打卡——.二叉树的层次遍历(十题特别版)
    Java继承与多态
    [Usaco2015 dec]Max Flow 树上差分
    Android开发基础——Activity基本用法
    代码随想录训练营第53天|1143.最长公共子序列,1025.不相交的线,53.最大子数组和
    NeuSpeech神经解码语言日报
    GaussDB T 主备搭建 切换switchover、failover
    Facebook类似受众的具体创建步骤
    PHP调用API接口的方法及实现(内附电商平台商品详情接口案例)
    前几周的阅读的论文(截图版)
  • 原文地址:https://blog.csdn.net/lishan132/article/details/125537790
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号