Raspberry Pi 树莓派官方文档简体中文版
  • 目录
  • Raspberry Pi 树莓派中文文档翻译项目
  • 前言
    • 词汇表
    • 编辑日志
    • 关于我们
    • 版权说明
  • 树莓派
    • 入门
    • 树莓派系统(Raspberry Pi OS)
    • 系统配置
    • config.txt
    • 旧版 config.txt 参数
    • Linux 内核
    • 远程访问
    • 摄像头软件
    • 树莓派硬件
    • 计算模块硬件
    • 处理器
  • 配件
    • 摄像头
    • 显示屏
    • 键盘和鼠标
    • Build 扩展板(Build HAT)
    • 传感器扩展板(Sense HAT)
    • 电视扩展板(TV HAT)
    • M.2 HAT+
    • 人工智能套件(AI Kit)
    • 树莓派音频扩展板(Raspberry Pi Audio Board)
  • 微控制器
    • 芯片
    • Pico 系列微控制器
    • 树莓派调试套件(Raspberry Pi Debug Probe)
    • MicroPython
    • C/C++ SDK
  • 服务
    • 树莓派账号(Raspberry Pi ID)
    • 树莓派远程访问(Raspberry Pi Connect)Beta 版
由 GitBook 提供支持

FreeBSD 中文社区 2024

在本页
  • 设置 SDK
  • 树莓派 Pico C/C++ SDK
  • 第一个二进制程序
  • 闪烁 LED
  • 打印 "Hello World"
  • 快速启动你的项目

这有帮助吗?

在GitHub上编辑
导出为 PDF
  1. 微控制器

C/C++ SDK

上一页MicroPython下一页树莓派账号(Raspberry Pi ID)

最后更新于9个月前

这有帮助吗?

设置 SDK

要全面了解如何使用 C/C++ SDK,请阅读我们的文档。然而,如果你打算在 上开发 Pico,可以通过命令行快速设置 C/C++ 工具链,只需运行我们的。

注意

在运行设置脚本之前,请确保你的树莓派操作系统已经。

树莓派 Pico C/C++ SDK

我们的官方 C SDK 可以从命令行使用,也可以与 Visual Studio Code、Eclipse 和 CLion 等流行的集成开发环境一起使用。要开始,请下载我们的 C/C++ SDK 和示例,并查看我们的'。或者,可以查看下一节进行快速设置。

  • SDK

  • 示例

你可以在以下位置找到有关 C/C++ SDK 的文档:

与基于 RP2040 的微控制器板的 C/C++ 开发

使用 C/C++ 或 MicroPython 将 Raspberry Pi Pico W 连接到互联网

用于 RP2040 微控制器的库和工具的 C/C++ 开发

Raspberry Pi Pico C/C++ SDK 的文档

注意

如果你正在使用 C/C++ SDK 构建应用程序,并且目标板不仅限于 Raspberry Pi Pico,你需要在 CMake 中传递 -DPICO_BOARD=boardname。这里的 boardname 是你的开发板名称,例如,对于 Adafruit Feather RP2040,你应该传递 -DPICO_BOARD=adafruit_feather_rp2040。更多信息请参考 Raspberry Pi Pico SDK 中的 目录和。

注意

关于在 Raspberry Pi Pico W 上使用 C/C++ SDK 构建应用程序并连接到网络,你需要在 CMake 中传递 -DPICO_BOARD=pico_w -DWIFI_SSID="你的网络" -DWIFI_PASSWORD="你的密码"。如果只需启用蓝牙支持,则无需传递 SSID 和密码,但仍需传递 -DPICO_BOARD=pico_w 字符串至 CMake。

第一个二进制程序

闪烁 LED

当使用新的微控制器时,第一个程序通常是控制板上的 LED 闪烁。树莓派 Pico 板上有一个单独的 LED,连接到板上的 GP25(用于 Raspberry Pi RP2040 for Pico),以及 WL_GPIO0(用于 Pico W 上的 Infineon 43439 无线芯片)。

你可以按照以下步骤进行 LED 的闪烁:

  1. 按住 BOOTSEL 按钮,将 Pico 插入树莓派或其他计算机的 USB 端口。

  2. 它将作为名为 RPI-RP2 的大容量存储设备挂载。

  3. 将 Blink UF2 二进制文件拖放到 RPI-RP2 卷上。Pico 将重新启动。

你应该看到板上的 LED 闪烁。

打印 "Hello World"

下一个程序是通过 USB 串行连接打印 'Hello World'。

  1. 按住 BOOTSEL 按钮,将 Pico 插入树莓派或其他计算机的 USB 端口。

  2. 它将作为名为 RPI-RP2 的大容量存储设备挂载。

  3. 将 'Hello World' UF2 二进制文件拖放到 RPI-RP2 卷上。Pico 将重新启动。

  4. 打开终端窗口并键入:

    $ sudo apt install minicom
    $ minicom -b 115200 -o -D /dev/ttyACM0

你应该在终端看到 'Hello, world!' 的输出。

快速启动你的项目

注意

安装 CMake(版本不低于 3.13)和 GCC 交叉编译器

$ sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib

设置项目以使用树莓派 Pico SDK,通过将 SDK 克隆到本地:

$ git clone https://github.com/raspberrypi/pico-sdk.git

从 SDK 中将 external/pico_sdk_import.cmake 复制到你的项目目录中

在你的环境中设置 PICO_SDK_PATH 为 SDK 的路径,或者稍后通过 -DPICO_SDK_PATH= 选项传递给 cmake。

设置一个 CMakeLists.txt 如下:

cmake_minimum_required(VERSION 3.13)

# 基于 PICO_SDK_PATH 初始化 SDK
# 注意:它必须位于 project() 之前
include(pico_sdk_import.cmake)

project(my_project)

# 初始化树莓派 Pico SDK
pico_sdk_init()

# 你的项目的其余部分

最简单的例子可以是一个单一源文件(例如 hello_world.c):

#include <stdio.h>
#include "pico/stdlib.h"

int main() {
    setup_default_uart();
    printf("Hello, world!\n");
    return 0;
}

并将以下内容添加到你的 CMakeLists.txt 中:

add_executable(hello_world
    hello_world.c
)

# 添加 pico_stdlib 库,它聚合了常用功能
target_link_libraries(hello_world pico_stdlib)

# 除 ELF 外还创建 map/bin/hex/uf2 文件。
pico_add_extra_outputs(hello_world)

注意

此示例使用默认的 UART 作为 stdout;如果要使用默认的 USB,请参见 hello-usb 示例。

设置一个 CMake 构建目录。例如,如果不使用 IDE:

$ mkdir build
$ cd build
$ cmake ..

当为树莓派 Pico 以外的板子构建时,你应该将 -DPICO_BOARD=board_name 传递给上述 cmake 命令,例如 cmake -DPICO_BOARD=pico_w ..,以相应地配置 SDK 和构建选项。

这样做会设置各种编译器定义(例如 UART 和其他硬件的默认引脚号),在某些情况下还会启用其他库的使用(例如在构建 PICO_BOARD=pico_w 时启用无线支持),这些库在没有提供所需功能的板子上无法构建。

从你创建的构建目录中制作你的目标。

$ make hello_world

现在你有了 hello_world.elf,可以通过调试器加载,或者有了 hello_world.uf2,可以通过拖放安装并在树莓派 Pico 上运行。

Blink an LED 640x360 v2

下载适用于 或 的 Blink UF2。

你可以在 Github 上查看 和 版本的代码。

Hello World 640x360 v2

下载 。

你可以在 Github 上查看。

以下说明简洁,并且仅适用于基于 Linux 的系统。有关详细步骤、其他平台的说明以及一般建议,请参阅 和 书籍。

接着编写你的代码,参见 或 书籍获取更多信息。

有关 SDK 自身定义的板子列表,请查看中每个命名板子的头文件。

入门指南
树莓派
设置脚本
更新到最新版本
入门指南
Github 仓库
Github 仓库
Raspberry Pi Pico 使用入门
使用 Raspberry Pi Pico W 连接互联网
Raspberry Pi Pico C/C++ SDK
API 级文档
boards/
论坛
Raspberry Pi Pico
Pico W
Raspberry Pi Pico
Pico W
'Hello World' UF2
代码
Getting started with Raspberry Pi Pico
Raspberry Pi Pico C/C++ SDK
pico-examples
Raspberry Pi Pico C/C++ SDK
此目录