当前位置: 首页 > article >正文

Micropython RPI-PICO 随记-双PICO串口传数据

开发环境

  • MCU:双 Pico1(无wifi版),串口相连,需要共地
  • 使用固件:自编译版本
  • 开发环境:MacBook Pro Sonoma 14.5
  • 开发工具:Thonny 4.1.6
  • 开发语言:MicroPython 1.24.0

上位机

  • 负责接收数据
from machine import UART,Pin

# 初始化 UART
uart = UART(1, 9600, tx=Pin(4), rx=Pin(5))

def read_data():
    buffer = b''
    while True:
        # 读取一行数据
        line = uart.read(1)  # 每次读取一个字节
        
        if line:
            print(line)
            # 将读取到的字节添加到缓冲区
            buffer += line

            # 检查是否接收到标记符 '\n'
            if line == b'\n':
                # 去除标记符,并解码字节数据为字符串
                data = buffer[:-1].decode('utf-8').strip()
                print("Received data:", data)
                 # 清空缓冲区
                buffer = b''

read_data()

下位机

  • 负责连续发送数据
from machine import UART, Pin
import time

# 初始化 UART
uart = UART(0, 9600)  # 使用 gp0 (TX) 和 gp1 (RX)

def send_data():
    while True:
        # 模拟获取传感器数据
        sensor_data = "Hello, UART!\n"  # 示例数据

        # 确保发送的数据是字节类型
        uart.write(sensor_data.encode())  # 编码为字节
        print(sensor_data.encode())
        # 打印发送的数据(可选)
        print("Sent data:", sensor_data)
        
        time.sleep(2)
        
send_data()


http://www.kler.cn/a/600987.html

相关文章:

  • Excel多级联动下拉菜单的自动化设置(使用Python中的openpyxl模块)
  • Rust异步编程tokio--问题记录
  • 数智读书笔记系列024《主数据驱动的数据治理 —— 原理、技术与实践》
  • 基于SpringBoot的电影售票系统
  • 【网络】HTTP 和 HTTPS
  • [网鼎杯 2020 白虎组]PicDown1 [反弹shell] [敏感文件路径] [文件描述符]
  • 2、二分和贪心
  • S32K3 RAM ECC 的问题
  • 《似锦》:曹兴昱—残暴和孝顺并不冲突家庭成长环境分析以命抵命逻辑悖论
  • 代码随想录Day23
  • Scrapy——Redis空闲超时关闭扩展
  • Spring 源码硬核解析系列专题(三十二):Spring Cloud LoadBalancer 的负载均衡源码解析
  • 数据库的操作,以及sql之DML
  • Linux输入系统应用编程
  • 字符串常量,数组和指针的不同形式
  • uv:Rust 驱动的 Python 包管理新时代
  • 飞书只有阅读权限的文档下载,飞书文档下载没有权限的文件
  • Qt 线程类
  • 详解c++20的协程,自定义可等待对象,生成器详解
  • <tauri><rust><GUI>基于rust和tauri,实现多窗口与窗口间通信