资讯动态

树莓派Pico与RP2040入门:从MCU原理到PWM/ADC实战开发指南

发布时间:2026/8/28 16:21:07 来源:尧图企业网站定制
树莓派宣布做 MCU 的时候我第一反应是“这班子是不是把小电脑做腻了”——但真把 Raspberry Pi Pico 拿到手焊上排针点亮那颗 LED 之后我才意识到这是个全新的物种。Pico 用的是树莓派自研的 RP2040 芯片双核 Cortex-M0、最高 133MHz、264KB SRAM官方定价 4 美元配套文档和硬件参考设计全部开放。它的出现让“嵌入式开发”突然变得不那么严肃和昂贵了。这篇文章我会从“树莓派为什么要做 MCU”聊起拆透 RP2040 的开放规格到底开放了什么然后带你把开发环境搭起来用 PWM 驱动舵机、用 ADC 读电压、用 UART 通信最后把我在实际调试中踩过的坑全列出来。无论你是想用 Pico 做课程设计、产品原型还是纯粹想低成本入坑 MCU 开发这篇都能给你一条不用绕弯的路。1. 为什么树莓派要做一块 MCU而不是继续做小电脑1.1 Pico 和传统树莓派到底有什么本质区别很多人以为 Pico 就是树莓派的精简版其实它俩完全不是一类东西。传统树莓派包括 4B、Compute Module 4 等是 SBC/SoC 架构跑完整版 Linux有操作系统、有用户态、有文件系统你能在它上面跑 Python、跑 Nginx、跑 OpenCV。而 Pico 是 MCU 架构上面没有 Linux只有裸机代码或者一个轻量级固件MicroPython 解释器程序直接跑在芯片上实时性可以精确到微秒级。这个区别决定了它们的使用场景完全不重叠。树莓派适合跑复杂逻辑、图像处理、网页服务Pico 适合做脉冲采集、电机控制、传感器读取这类需要确定性时延的活儿。你可以把 Pico 当作树莓派的“外设处理器”比如让树莓派负责视觉识别Pico 负责运动控制各干各擅长的部分。这套“MCU SoC 双芯片分工”的架构在无人机遥控器、机器人控制器里非常常见。一个遥控器里通常有两颗主控一颗 SoC 跑人机交互、图传、协议栈另一颗 MCU 专门处理摇杆采样和通道输出因为通道输出要求低延迟、无抖动被 OS 调度打断就可能出问题。Pico 就是那颗能当“实时手”的 MCU。1.2 为什么是 4 美元为什么是现在在 Pico 之前树莓派生态里最接近 MCU 的东西是 Arduino 转接板或者外接的 STM32 模块但那些都不是树莓派自己的芯片。Raspberry Pi 做 Pico 的目的官方说得挺直白降低嵌入式开发的门槛同时给生态内的用户一个官方支持的 MCU 方案。4 美元这个价格对于 MCU 行业来说是“掀桌子”级的。同配置的 STM32F4 系列、ESP32 模块价格往往在 10 美元以上而 Pico 以 4 美元给出双核、大 SRAM、PIO 这个东西还有完整的 SDK、官方示例和庞大的社区这就导致很多原本用其他 MCU 的开发者开始把 Pico 当作首选。还有一个被很多人忽略的点Pico 采用 DIP 40pin 封装引脚间距是标准的 0.1 英寸可以直接插面包板、洞洞板不需要专门的转接板。这跟 Arduino Uno 的思路很像但 Arduino 的主控芯片和开发板是两回事而 Pico 把开发板和芯片放在一条产品线上芯片规格和板卡设计文件一起开放你要么直接买现成的 Pico 用要么把 RP2040 放进自己的 PCB 产品里——这一点在移动端 MCU 选型中很少见。2. RP2040 开放规格与技术拆解2.1 硬件参数速览双核、SRAM、PIORP2040 的核心参数两颗 ARM Cortex-M0 核心最高 133MHz264KB SRAM没有内置 Flash这点很关键后面启动流程会专门讲外围接口包括 2 个 UART、2 个 SPI、2 个 I2C、16 路 PWM、4 路 12 位 ADC、USB 1.1以及最特别的 PIOProgrammable I/O。这里对比一下主流的 MCU你会更清楚 RP2040 的定位型号核心主频SRAMFlash特色RP2040双核 Cortex-M0133MHz264KB外部 QSPIPIO、全开放文档STM32F103Cortex-M372MHz20KB64KB生态成熟STM32H7双核 Cortex-M7M4480MHz1MB2MB高性能 FOCESP32双核 LX6240MHz520KB4MB自带 WiFi/BLEATmega328PAVR16MHz2KB32KBArduino 经典注意看 RP2040 没有内置 Flash。传统 MCU 的启动流程是上电后芯片直接从内部 Flash 取指执行而 RP2040 必须外挂一片 QSPI FlashPico 板上焊的是 2MB W25Q16上电后由芯片内部的 BootROM 去外部 Flash 读取程序再通过 XIPExecute in Place机制直接在 Flash 地址上执行。这个设计让 Flash 容量可以灵活扩展成本也更低但对开发者来说第一次接触时会有点不适应你不能像 STM32 那样一键写入 Flash而是要专门学一下它的启动流程。2.2 MCU 启动流程RP2040 的 BootROM 与 UF2 机制我们完整走一遍 RP2040 上电到运行程序的流程这部分知识对理解 Pico 的“烧录”逻辑很有帮助芯片上电核心先执行内部 BootROM只读存储器里出厂固化的引导代码。BootROM 检查 BOOTSEL 引脚对应 Pico 板上的 BOOTSEL 按钮。如果 USB 启动模式被触发按住 BOOTSEL 上电芯片会模拟出一个 USB 大容量存储设备弹出名为RPI-RP2的 U 盘。如果没有触发 BOOTSEL 模式BootROM 从外部 QSPI Flash 地址 0x10000000 加载启动代码。主程序编译后通常放在 Flash 偏移 0x10000000 处运行时通过 XIP 直接执行或者把代码搬运到 SRAM 中运行。进入用户程序的 main()由 SDK 完成时钟初始化、外设初始化然后进入你的业务逻辑。这里有个非常重要的结论RP2040 的烧录方式是“拖拽 UF2 文件”。UF2 是树莓派定义的一种文件格式里面打包了固件数据、目标地址、校验信息。官方把 BootROM 做成 USB 大容量设备后你只需要把生成的.uf2文件拖进 U 盘根目录芯片就会自动完成 Flash 擦写并复位运行。这对新手特别友好完全不需要独立烧录器ST-Link、J-Link 之类一根 USB 线全搞定。如果是在 VS Code 里写 C 代码构建后会自动复制生成.uf2你手动拖拽一下就能运行要是用 MicroPython过程甚至更简单下载固件.uf2拖进去就完了。2.3 Open-Spec 的边界什么开放什么没有开放官方特别强调 Pico 是 “Open-Spec” 而不叫 “Open-Source Hardware”这两个说法有微妙差别。树莓派开放的是硬件规格文档、参考设计文件、板级原理图/布板文件、SDK 源码和所有例程你可以自由下载、学习、参考甚至直接照着设计去做自己的 RP2040 核心板。但 RP2040 芯片本身的内部逻辑、版图、制造工艺是没有开源的它就是一颗商用量产芯片只是把“怎么用、怎么做板”的资料全部开放了。这个开放粒度对绝大多数开发者已经完全够用。你甚至可以不去买现成的 Pico直接在电路板上画一个 RP2040 的最小系统芯片 外部 Flash 晶振 电源 USB参考官方原理图就能搞定这在工业设计里价值很高。很多设备出厂后不需要用户可编程直接在组装前用 SWD 接口烧录一次RP2040 的开放规格让这种从参考设计到量产板的路径变得非常短。3. 从零开始Pico 开发环境搭建与第一个程序3.1 MicroPython 还是 C SDK怎么选Pico 官方提供两条开发路线MicroPython 和 C SDK。没有绝对的好坏取决于你要干什么。MicroPython 适合快速验证、学习硬件概念、写小工具。它把寄存器操作全部封装成machine模块你不需要懂指针、不需要管链接脚本写 Python 一样写硬件逻辑。缺点是性能差、实时性弱做电机控制或高频波形采集时很难搞。C SDK 适合正式项目、性能敏感场景、量产固件。它的工程结构是标准 CMake 管理官方提供 pico-sdk、pico-examples、pico-extras 等仓库编译出来的固件很小执行效率接近裸机。代价是搭建环境稍微繁琐一点需要交叉编译工具链还需要理解 UART 打印、Flash 烧录这些基础。我的建议是如果从来没写过 C 的硬件开发先用 MicroPython 把 GPIO、PWM、ADC 都玩一遍理解这些外设的行为规律再切到 C SDK。如果你有 STM32 或者 Arduino 的 C/C 经验直接上 C SDK别犹豫。3.2 MicroPython 路线拖拽固件5 分钟跑起来不管选哪条路线第一个步骤都是下载固件并刷入。MicroPython 官方维护一个 Pico 专用固件.uf2文件通常只有 1MB 左右。操作步骤从树莓派官方或 MicroPython 官网下载.uf2固件文件。用 USB 线连接 Pico 和电脑数据线很多线只能充电不能传数据踩过无数坑。按住 Pico 板上的 BOOTSEL 按钮再插入 USB 线或插入后按一下按钮并复位电脑上会出现RPI-RP2的 U 盘。把.uf2固件拖入 U 盘根目录等待它自动弹出Pico 会重启。打开串口终端Thonny、Mu 编辑器、screen都可以选择对应串口就能看到 MicroPython 的 REPL 提示符。验证代码直接在 REPL 里输入from machine import Pin led Pin(25, Pin.OUT) led.value(1)GPIO25 是板载 LED执行后灯亮就说明环境没问题。这段代码不需要编译直接解释执行新手拿到手就能玩Pico 的入门门槛就是这么压下来的。3.3 C SDK 路线VS Code 官方插件一条命令搞定C SDK 的搭建我这里给一个比较省心的方案Windows 下使用 VS Code Raspberry Pi Pico 官方插件它能帮你自动下载工具链和 SDK。具体步骤安装 VS Code。扩展市场搜索 “Raspberry Pi Pico”安装官方扩展。扩展面板里点击 “Install/Update Pico SDK”它会自动拉取 pico-sdk 和编译器arm-none-eabi-gcc、CMake、Ninja。点击 “New Pico Project”输入项目名、选择保存位置插件会自动生成一个 CMake 工程包含pico_sdk_init.cmake和main.c。写代码点击编译按钮插件会在工程目录下生成.uf2文件。按住 BOOTSEL 插入 Pico把.uf2拖进 U 盘程序立刻运行。如果你之前在用 VS Code 搭普冉、STM32、GD32 这类 MCU 的开发环境对这个流程应该很熟悉IDE 插件负责 SDK 管理、交叉编译、烧录编辑器负责代码编辑调试。Pico 做得更省心因为它的 SDK 集成度极高几乎不会出现缺依赖、版本错配的烦恼。一个最小 C 程序的骨架长这样#include pico/stdlib.h int main() { const uint LED_PIN 25; gpio_init(LED_PIN); gpio_set_dir(LED_PIN, GPIO_OUT); while (true) { gpio_put(LED_PIN, 1); sleep_ms(500); gpio_put(LED_PIN, 0); sleep_ms(500); } }编译烧录后LED 以 1Hz 闪烁。到这里你已经完成了从 SDK 安装到板端运行的全流程后面所有外设开发都建立在这个基础之上。4. 上手实战用 Pico 控制舵机、读取 ADC、串口通信4.1 舵机控制PWM 频率和脉宽必须算清楚舵机是 MCU 实战里最经典的负载设备之一。大多数模拟舵机SG90、MG996R 等的控制信号是 50Hz 的 PWM周期 20ms高电平时间 0.5ms 到 2.5ms 对应 0° 到 180°。这个参数决定了我们产生 PWM 的核心诉求。用 C SDK 配置 PWM关键是理解三个参数时钟分频、周期计数器的循环值 wrap、通道比较值 level。Pico 的系统时钟默认 125MHzPWM 模块先除以分频值得到计数频率计数器从 0 加到 wrap 后再回到 0这个循环就形成一个周期level 是计数器到达某个值时输出高电平的阈值。我们要得到 50Hz而且要能让舵机精确停在任意角度分频和 wrap 就要搭配好。我惯用的方案是让 PWM 以 2MHz 计数这样每个 tick 是 0.5us对舵机脉宽的精度要求已经足够。计算过程计数频率 125MHz / 分频值 2MHz所以分频值 62.5。周期 计数频率 / wrap 50Hz所以 wrap 40000 - 1 39999。0.5ms 对应计数 10001.5ms 对应 30002.5ms 对应 5000。对应代码#include pico/stdlib.h #include hardware/pwm.h #define SERVO_PIN 0 int main() { gpio_set_function(SERVO_PIN, GPIO_FUNC_PWM); uint slice pwm_gpio_to_slice_num(SERVO_PIN); pwm_set_clkdiv(slice, 62.5f); pwm_set_wrap(slice, 39999); pwm_set_chan_level(slice, PWM_CHAN_A, 3000); // 1.5ms - 90度 pwm_set_enabled(slice, true); while (1) tight_loop_contents(); }MicroPython 版本内部把 duty 映射到 0~655350.5ms 对应16381.5ms 对应49152.5ms 对应8191from machine import Pin, PWM servo PWM(Pin(0), freq50) servo.duty_u16(4915) # 90度注意舵机电源绝对不能从 Pico 的 3V3 引脚取。Pico 板载 LDO 的电流能力只有几百毫安而一个普通舵机堵转时电流能到 1A 以上直接拉垮板子电源轻则重启重则烧芯片。正确接法是舵机 VCC 接外部 5V~6V 电源、GND 与 Pico 共地、信号线接 Pico GPIO三者缺一不可。这套 PWM 配置看起来简单但它背后代表的 FOC、电机控制等领域都是类似的逻辑用 PWM 产生确定时长的开关信号。Pico 在 16 路 PWM 通道和多路 ADC 的加持下做单电阻/双电阻电流采样、PWM 驱动三相桥这套入门级 FOC 实验也完全可行网上有不少人拿它驱动 BLDC 电机。4.2 ADC 读取原理与常见误用要读模拟电压首先得理解 ADC模数转换器到底在干什么。Pico 的 4 个 12 位 ADC 是逐次逼近型SAR原理类似“天平称重”内部有一个比较器和一个 DAC先用一个参考电压的最高位去和输入电压比偏大就砍半偏小就加半逐位逼近12 个 bit 比 12 次最终得到一个 0~4095 的数字值。这个数字值和输入电压的换算关系是V_input ADC读值 / 4095 × VREFRP2040 的参考电压 VREF 默认等于 3.3V 供电电压。所以 12 位 ADC 的分辨率约为 3.3 / 4096 ≈ 0.806mV/LSB。Pico 的 ADC 引脚对应关系GPIO26 是 ADC0、GPIO27 是 ADC1、GPIO28 是 ADC2还有一个内部温度传感器挂在 ADC4 上。MicroPython 里直接用ADC(26)读原始值但要注意它默认返回 16 位0~65535是底层 12 位结果放大后的值。C SDK 读取温度传感器的代码#include hardware/adc.h float read_chip_temp(void) { adc_init(); adc_select_input(4); // 内部温度传感器 uint16_t raw adc_read(); float v raw * 3.3f / 4095.0f; return 27.0f - (v - 0.706f) / 0.001721f; }实际使用 ADC 时有三个坑要避开信号源阻抗太高会导致采样读数跳。SAR ADC 在采样瞬间有个采样电容会被充放电如果信号源内阻过大采样时间内电容没充满读出来的数就偏小。解决办法是在 ADC 引脚到地之间加一个 100nF 左右的电容或者用运放做电压跟随器。VREF 受电源波动影响Pico 的 ADC 精度跟供电质量强相关。同一块板子在 USB 供电和电池供电下同一电压读出来可能差几十 LSB这是正常的不是芯片坏了。Pico 的 ADC 范围是 0~3.3V不能直接测超过 3.3V 的电压。要用分压电阻把高电压降到 3.3V 以下再测最好经过运放缓冲。4.3 串口通信RX 引脚到底要不要上拉UART 串口是 MCU 调试和对外通信的基本手段。Pico 硬件上有两个 UART比如 UART0 的 TX 是 GPIO0、RX 是 GPIO1用 C SDK 初始化#include hardware/uart.h #include hardware/gpio.h uart_init(uart0, 115200); gpio_set_function(0, GPIO_FUNC_UART); gpio_set_function(1, GPIO_FUNC_UART);很多人在串口联调时会遇到“杂波乱码”问题而一个常见的坑恰恰是“RX 引脚要不要上拉”。UART 协议规定空闲态是高电平这意味着接收端在空闲状态下必须保持为高一旦出现低电平就认为起始位来了。如果接收引脚悬空它可能被环境噪声拉低MCU 就会误认为收到数据产生大量乱码。解决办法有三个如果对端设备在空闲时主动输出高电平那直接连问题不大。如果对端是开漏输出或者高阻态接收端必须上拉。RP2040 的 GPIO 内部有可编程上拉电阻可以对 RX 引脚配置gpio_pull_up(1)。更稳妥的做法是外部加 10k 上拉电阻尤其在线缆比较长、干扰大的场合内部上拉的强度一般几十 kΩ不够时外部上拉更可靠。另外还有一个优先级超过上拉的检查项通信双方必须共地。UART 的电平判定是相对于本地 GND 的如果两个板子之间没有 GND 连接电平基准不一致整条链路就是废的。我会在连接器上专门留一根 GND 线和 TX/RX 同步走线这是串口联调的第一原则。5. 常见问题与排查技巧实录5.1 一张速查表解决 80% 的新手问题现象可能原因解决办法插入 USB 后电脑无反应USB 线是充电线不能传数据换数据线电脑不出现 RPI-RP2 盘BOOTSEL 没按住或线没插好按住 BOOTSEL 再插入听到设备连接声后松手拖入 UF2 后板子不重启固件文件名不对或当前是旧 BootROM下载最新 UF2确认文件名是firmware.uf2类型舵机一直抖/不动供电不足或 PWM 频率不对外部 5V 独立供电检查 PWM 频率是否 50HzADC 读数乱跳信号源阻抗高、电源纹波加 100nF 滤波电容检查供电质量串口乱码波特率不匹配、没共地、RX 悬空统一波特率共地加外部上拉温度传感器读数偏高 5~10℃芯片自身发热导致这是正常现象测的是芯片结温不是环境温度编译 C SDK 时报找不到头文件环境变量 PICO_SDK_PATH 未设置在 VS Code 插件里重新配置 SDK 路径这些现象我基本都遇到过。尤其“USB 线只能充电不能传数据”这一条曾经害我怀疑板子坏了整整半小时——后来换了一根短的数据线立刻识别正常。做嵌入式开发一套稳定的 USB 数据线真的建议多备几根。5.2 容易被低估的坑Flash 擦写寿命和 MicroPython 固件恢复RP2040 通过 USB U 盘方式烧录非常方便但如果你频繁烧录 MicroPython 固件和 C 固件可能会遇到“刷了 C 程序后发现回不到 MicroPython 了”的问题。原因是你编译后的 C 固件占用了 Flash 的起始区域而 MicroPython 固件也是烧在同一个位置直接拖拽 MicroPython UF2 往往能覆盖成功但偶尔会遇到旧分区残留。这种情况的解决办法是先按住 BOOTSEL 进入 U 盘模式把盘里的已有文件删除或者格式化 U 盘逻辑分区其实 UF2 盘是个虚拟 FAT 文件系统直接清空即可再拖入 MicroPython 固件。如果还是不行可以用官方提供的picotool工具执行reboot和info命令查看 Flash 状态必要时执行全片擦除。还有一个很多人没注意的点RP2040 的 Flash 通过 QSPI 接口挂在外部虽然 XIP 机制让代码能直接在 Flash 里跑但它是有写入寿命的常见 W25Q16 标称 10 万次擦写。你烧录次数太频繁会缩短 Flash 寿命开发阶段无所谓量产阶段如果固件需要频繁 OTA 更新就要考虑用大容量 SRAM 做程序搬运或者选支持磨损均衡的存储方案。5.3 调试利器用 SWD 接口做硬件断点拖拽 UF2 对于快速验证很方便但真到了 C SDK 项目调 bug 阶段串口打印、LED 闪烁这套方案效率太低。Pico 板上有三个 SWD 调试引脚SWCLK、SWDIO、GND官方推荐用另一块 Pico 板充当 SWD 调试器接好后在 VS Code 里配置 launch.json就能像 STM32 一样打断点、看变量、单步执行。SWD 调试配置步骤在一块 Pico 上烧录官方debugprobe固件作为调试器。将调试 Pico 的 GP2、GP3、GND 分别接到目标 Pico 的 SWCLK、SWDIO、GND。VS Code 里安装 Cortex-Debug 扩展配置device为RP2040swo-enabled等参数。编译时开启-g调试信息点击开始调试。这个方案只用几块钱的额外硬件就能获得完整的调试体验比买个几百块的 J-Link 实惠得多。我自己的习惯是功能验证阶段用 UF2 拖拽复杂逻辑调试时开 SWD两条线互相配合效率最高。6. 从 Pico 到生态这个「开放规格」带来的连锁反应6.1 产品线扩展从 Pico 到 Pico W、Pico 2Pico 发布后迅速形成了完整的产品序列。Pico W 在 Pico 基础上加了 CYW43439 无线芯片支持 2.4GHz Wi-Fi 和 BLE价格仍然便宜得很IoT 项目基本都选它Pico H 预焊了排针Pico 2 则升级为 RP2350 芯片默认双核 Cortex-M33还首次加入了可切换的 RISC-V 核心和安全启动。RP2350 相比 RP2040 的提升很有针对性M33 内核支持硬件浮点、TrustZone 安全扩展SRAM 增加到 520KB还内置了 8KB OTP一次性可编程存储器安全性大幅增强。这已经不只是学习板级别了直接可以进入工业控制、消费电子这类对安全有要求的场景。从 Pico 到 Pico 2 的演进也能看出树莓派的策略先用低价开放规格圈住开发者再逐步补齐性能、安全和无线能力最终形成完整的嵌入式产品版图。6.2 开放参考设计带来的复刻与再创造Pico 的开放规格文档包含完整的板级原理图、布局文件这意味着任何工程师都可以基于它做“二次创作”。最典型的例子是各种核心板/底板设计你的 PCB 上只需要集成 RP2040、Flash、电源和 USB就能获得一个 4 美元的 MCU 核心甚至可以把 Pico 直接作为模块焊接在你的自定义底板上用它的镀金半孔引脚做板对板焊接不需要额外画核心板。硬件链路开放之后软件链路也完全可控SDK 源码、PIO 指令集、UART bootloader、VS Code 插件全部开源没有商业库的“黑盒”。对于产品级项目这是一个很务实的权衡省 license 费用、省技术支持沟通成本出了问题自己翻数据手册就能定位。相比之下某些商业 MCU 的文档和工具链限制反而更多。6.3 轻量 AI 模型与 MCU 的碰撞现在很流行一个方向叫 TinyML在 MCU 上直接跑轻量模型。Pico 的双核 M0 虽然没硬件浮点但 264KB SRAM 对于单颗传感器的人体活动识别、关键词唤醒这类小模型来说不算紧张TensorFlow Lite for Microcontrollers 官方已经把 RP2040 列入了支持平台。我用 Pico 跑过一个 20KB 的线性回归模型做温度补偿推理一次只需要几毫秒功耗还不到 MCU 峰值的一半。这类轻量模型和传统 MCU 控制逻辑配合正好发挥 Pico 的两大优点一是功耗低、启动快设备可以一直挂电池待机二是 PIO 还能顺便采集高速传感器数据模型推理和信号采集在同一个芯片里完成省掉了 SoC 级别的无谓数据搬移。当你觉得“某个功能用树莓派跑太重用传统 8 位 MCU 跑不动”的时候Pico 恰好落在中间位置这是它区别于其他开发板的一个很实际的优势。6.4 我的经验教训和选型建议从第一次点亮 Pico 到现在我用它做过温度采集器、四轴飞控的 PWM 扩展板、舵机控制台还在一个原型项目里让三颗 Pico 分别负责读取 IMU、控制电机、处理无线数据最后统一通过 UART 汇总到一颗树莓派上。这个组合拳打完我对 Pico 的定位有了很明确的判断它不是一个“玩具板”而是一个把 MCU 开发的试错成本降到足够低、同时把硬件资源上限抬得足够高的通用平台。如果你在纠结选 Pico 还是其他 MCU我给你一个简单粗暴的建议如果项目需要 Wi-Fi/BLE 并且追求低成本用 Pico W。如果项目需要复杂实时控制、电机 FOC、多路传感器采集Pico 2 的 M33 浮点单元会更从容。如果你的项目对现有 STM32 代码库、生态依赖很深就别为了追新硬切到 Pico迁移成本可能比硬件成本高得多。如果只是入门学习Pico 绝对是最省心的选择4 美元板子、一根线上手、文档教科书级规范几乎没有比它更低的学习门槛。最后再分享一个实际操作中的小技巧给 Pico 做供电的时候尽量从 VSYS 引脚输入 5V让板载的降压芯片产生 3.3V而不是直接从 3V3 引脚灌电。这样能避免板上 LDO 和外部电源打架尤其在使用舵机、继电器这类感性负载时能明显降低死机概率。别问我是怎么知道的——那几次半夜调代码突然整板复位的记忆到现在还很清晰。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价