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[ ]:
相关推荐
www_aiyuanma_vip几秒前
Java个人博客系统
java·开发语言
chinesegf1 分钟前
comfyui便携版的基础使用
python
OPEN-F3 分钟前
ROS2系列教程:Gazebo插件(关节控制/IMU/激光雷达)
c++·python·数码相机·算法·机器人
leoZ2315 分钟前
第 7 篇:进阶——校验、联动、列表页
开发语言·前端·javascript·vue.js·人工智能·目标检测·ecmascript
临沂GEO9 分钟前
芝麻开门GEO|AI数字化新趋势,助力企业线上长效增长
大数据·人工智能·python
luj_176810 分钟前
虚实交融中的真实人物塑造
c语言·开发语言·网络·经验分享·算法
haolin123.40 分钟前
STL vector底层揭秘:从构造到迭代器失效
开发语言·c++·算法
大模型码小白41 分钟前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评
服务器·开发语言·数据库·人工智能·spring·chatgpt
梦想不只是梦与想43 分钟前
大模型系列(二):技术基础与核心能力
python·大模型·token
尘中远1 小时前
给C++工业软件搭建 Agent
开发语言·c++·qt·ai·agent