Python读MCU串口

将Jupyter Notebook(.ipynb)文件转换为Python(.py)文件的3种方法_python_脚本之家

python 复制代码
#!/usr/bin/env python
# coding: utf-8

# In[ ]:

import sys
import serial
import threading
from datetime import datetime

input_flag = 0

class UART(object):
    def __init__(self,port,baud):
#         print("初始化")
        self.err = 0
        try:
            self.serial = serial.Serial(port,baud)
            print("串口连接成功")
        except:
            print("串口连接失败")
            self.err =  -1;
    def uart_rev_wait(self):
        print("开始接收")
#         串口接收
        while(True):
            try:
                rev_data = self.serial.readline()
#                 text = "当前时间"
                now = datetime.now()
                formatted_str = now.strftime('%Y-%m-%d %H:%M:%S')
                data = formatted_str +"------"+ "串口数据:"+ rev_data.decode();
#         print("DEV_NUM:"+port)
                print(data)
            except:
                print("接收数据失败")
        
    def uart_rev_start(self):
        print("创建接收线程")
        thread = threading.Thread(target=self.uart_rev_wait,daemon = True)
        thread.start()


if __name__ == '__main__':
#     print("主线程")
    uart0 = UART("COM27",115200)
    if(0==uart0.err):
        print("init UART success")
        uart0.uart_rev_start()
    
    while(True):
#         print("主线程runing")
        if(input_flag == 1):
            break;
        
    print("exit")

# In[ ]:
相关推荐
海参崴-几秒前
C++ STL篇 红黑树的模拟实现
开发语言·c++
2301_775639892 分钟前
mysql修改字段长度是否影响数据_隐式转换与字符集限制分析
jvm·数据库·python
Dshuishui7 分钟前
我用 Claude Code 做了一个学术论文搜索工具
开发语言·人工智能·python·pip·uv
ㄟ留恋さ寂寞7 分钟前
怎样修改提示“表已空”的空状态界面_Empty State插画替换
jvm·数据库·python
Resky08187 分钟前
ReentrantReadWriteLock 深度解析
java·开发语言·juc
研究点啥好呢9 分钟前
Momenta后端开发面试题精选:10道高频考题+答案解析(数据产线方向)
c++·python·面试·求职招聘
老歌老听老掉牙16 分钟前
空间点到平面的距离:几何意义与计算方法
python·平面
m0_5913647319 分钟前
SQL提升开发效率_使用CTE重构嵌套子查询逻辑
jvm·数据库·python
2401_8314194427 分钟前
JavaScript 中实现基于分组的前端产品筛选功能
jvm·数据库·python
曲幽28 分钟前
初探:用 FastAPI 搭建你的第一个 AI Agent 接口
python·ai·llm·agent·fastapi·web·chat·httpx·ollama