深色模式
第 1 章:C++ 代码从哪里来
本章能看懂什么
- Mind+ 的同一套积木,还能生成另一种代码:Arduino(C++)
- C++ 是什么,Arduino 和 C++ 是什么关系
- 标准 C++ 与 Arduino 里的 C++ 有什么异同
同一套积木,另一种翻译
第二册里见过:拖动"LED 输出 高电平"等积木,Mind+ 自动翻译成 Python 代码。
其实 Mind+ 还会第二种翻译。在上传模式的代码区,把语言切换成 arduino C,同样那几块积木,生成的代码就变成了 C++:

对照着看:
| 拖入的积木 | 生成的 C++ 代码 | 这行代码的意思 |
|---|---|---|
| Pico 主程序 | pinMode(25, OUTPUT) | 告诉 Pico:我要用 25 号引脚(板载 LED),它是输出 |
| 循环执行 | void loop() { ... } | 花括号里的事一直重复做 |
| LED 输出 高电平 | digitalWrite(25, HIGH) | 让 25 号引脚通电(LED 亮) |
| 等待 0.2 秒 | delay(200) | 等 200 毫秒(= 0.2 秒) |
| LED 输出 低电平 | digitalWrite(25, LOW) | 让 25 号引脚断电(LED 灭) |
注意一个细节:Python 里"等待 0.2 秒"写成 time.sleep(0.2)(单位是秒),C++ 里写成 delay(200)(单位是毫秒)。同一个意思,两种写法——本册就是为了熟悉这些"方言差异"。
C++ 是什么
C++ 是一门高性能的编程语言,运行快、控制硬件能力强,广泛用于机器人、游戏、嵌入式设备。它比 Python 更接近硬件,规矩也更多(后面几章会看到)。
Arduino 是什么
很多人以为 Arduino 是一块电路板,其实不对。Arduino 是一套开发框架:
- 一套简单好读的指令:
digitalWrite()、delay()…… - 一个巨大的生态:几乎所有传感器都有现成的 Arduino 库
Arduino 程序本质就是 C++ 程序,只是框架把程序骨架(setup() / loop())和常用硬件功能都准备好了。树莓派 Pico 也完全支持这套框架——在 Mind+ 里切换语言,Pico 就能"听懂"C++。
对照表:标准 C++ vs Arduino 里的 C++
| 对比项 | 标准 C++ | Arduino 里的 C++ |
|---|---|---|
| 程序入口 | int main() | 没有 main,用 setup() + loop() |
| 打印输出 | cout << "hello" | Serial.println("hello") |
| 硬件控制 | 没有标准库 | 内置 digitalWrite / analogRead 等 |
| 常用库 | STL 等 | Servo、Wire 等硬件库 |
常见坑
- 不要以为"Arduino 板"才能用 Arduino——它是一套框架,Pico 也能用
- C++ 里每句话结尾要加分号
;,布尔值是小写true/false(Python 是True/False),看代码时别当成写错了
想一想
对比第 1 张截图(第二册)和本页的截图:同一套积木生成的两种代码,能找出几处"长得像"的地方?
💡 查看答案
至少能找到这些对应:
pinMode(25, OUTPUT)↔Pin(25, Pin.OUT)(登记引脚)、digitalWrite↔value()(控制亮灭)、delay(200)↔time.sleep(0.2)(等待)、loop()↔while True:(一直重复)。结构几乎一模一样,只是"用词"不同。delay(200)和time.sleep(0.2)表示的等待时长一样吗?💡 查看答案
一样长,都是 0.2 秒。区别只在单位:
delay()用毫秒(200 毫秒),time.sleep()用秒(0.2 秒)。这是两册代码对比时最容易看错的地方。
