返回

Pico 串口回显:使用 Velxio 在 RP2040 上测试 UART

简介

欢迎来到另一篇 Velxio 教程!今天我们将为 Raspberry Pi Pico (RP2040) 构建一个串口回显测试。这个项目非常适合想要了解微控制器上串行通信工作原理的初学者。你将学习如何通过 UART 发送和接收数据、使用 LED 添加视觉指示器,以及实现一个简单的心跳定时器。

Velxio 模拟器画布上 pico-serial-echo 的电路图

电路讲解

这个电路非常简单。我们只需要两个元件:

接线

  1. 将黄色 LED 的阳极 (A) 连接到 Pico 的 TX 引脚。TX 引脚用于串行传输,因此每次 Pico 发送数据时,LED 都会闪烁。
  2. 将 LED 的阴极 (C) 连接到 GND(Pico 上的任意接地引脚)。

就这样!LED 与 TX 线串联,因此当 Pico 传输数据时它会亮起。这为你提供了串行数据流动的视觉确认。

带有编译和运行控件的 Velxio 编辑器工具栏

代码讲解

让我们深入代码。打开 Velxio 编辑器,你会看到以下草图:

// Raspberry Pi Pico — Serial Echo Test
// Echoes received characters and prints a heartbeat every 2 seconds

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Pico Serial Echo ===");
  Serial.println("Type something and press Enter.");
  Serial.println();
}

unsigned long lastHeartbeat = 0;

void loop() {
  // Echo any incoming characters
  while (Serial.available()) {
    char c = Serial.read();
    Serial.print("Echo: ");
    Serial.println(c);
  }

  // Heartbeat every 2 seconds
  if (millis() - lastHeartbeat >= 2000) {
    lastHeartbeat = millis();
    Serial.print("[Heartbeat] Uptime: ");
    Serial.print(millis() / 1000);
    Serial.println("s");
  }
}

工作原理

lastHeartbeat 变量跟踪上次打印心跳的时间,使用 millis() 实现非阻塞定时。

关键概念

串行通信 (UART)

UART(通用异步收发器)是一种简单的串行协议。Pico 的 TX 引脚发送数据,RX 引脚接收数据。在此示例中,我们仅使用 TX 进行输出,但回显功能也使用了 RX(通过串行监视器)。

使用 millis() 的非阻塞定时

我们使用 millis() 检查经过的时间,而不是使用会暂停整个程序的 delay()。这样,回显循环可以持续运行,同时仍能按固定间隔打印心跳。

LED 作为视觉指示器

通过将 LED 连接到 TX 引脚,我们可以实时看到串行活动。每次 Pico 发送一个字符时,LED 都会短暂闪烁。

常见陷阱与调试技巧

模拟视口上方的 Velxio 画布工具栏

建议的扩展

在基本回显功能正常工作后,尝试以下增强:

  1. 添加 RX LED:将另一个 LED 连接到 RX 引脚,以显示何时接收到数据。
  2. 命令解析:不只是回显,而是解释诸如 “LED ON” 或 “LED OFF” 之类的命令,以控制外部 LED。
  3. 多波特率:允许用户通过串行命令更改波特率。
  4. 日志到控制台:将接收到的数据存储在缓冲区中,并在请求时打印出来。

按类别浏览部件的 Velxio 组件选择器弹窗

行动号召

准备好亲自尝试了吗?在 Velxio 上打开实时示例并开始实验:Pico Serial Echo on Velxio。你可以修改代码、更改 LED 颜色或添加新组件。祝你编程愉快!


分享到:
David Montero

作者

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

相关文章


上一篇
Pico 串口 LED 控制:构建你的第一个命令接口
下一篇
在 Velxio 模拟器中让树莓派 Pico 闪烁 LED