码农知识堂 - 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("串口已关闭")

     

  • 相关阅读:
    Pb从入坑到放弃(三)数据窗口
    RocketMQ 面试 33 连问,答完面试官主动要给我提薪资待遇...
    JVM中的STW(Stop The World)
    C Primer Plus(6) 中文版 第8章 字符输入/输出和输入验证 8.5 创建更友好的用户界面
    【wordPress】WordPress删除index.php后缀【亲测有效】(手把手教学)
    java计算机毕业设计教工公寓管理源码+mysql数据库+系统+lw文档+部署
    SpringBoot整合Zookeeper做分布式锁
    基于JAVA疫情防控期间人员档案追演示录像上计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    Android 音频框架 基于android 12
    创建一个简单的贪吃蛇游戏:HTML、CSS和JavaScript教程
  • 原文地址: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号