码农知识堂 - 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-net-php-python-ssm大学英语阅读大赛管理系统计算机毕业设计程序
    窗帘墙布完美搭配,让居室更加温馨有品味 - 江南爱窗帘十大品牌
    Windows环境变量 和 Linux环境变量
    新电脑Mac安装前端环境,未完待续~
    科普达人丨漫画图解什么是 eRDMA?
    基于Multisim的LC正弦波振荡器的设计与仿真
    【JVM深层系列】「逆向ClassLoader加载机制」认识一下线程上下文类加载器实现
    python后端相关知识点汇总(十二)
    c与c++中的字符串
    华为机试真题实战应用【赛题代码篇】-整数最小和(附Python和Java代码)
  • 原文地址:https://blog.csdn.net/lishan132/article/details/125537790
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号