Skip to content

第 1 章:C++ 代码从哪里来

本章能看懂什么

  • Mind+ 的同一套积木,还能生成另一种代码:Arduino(C++)
  • C++ 是什么,Arduino 和 C++ 是什么关系
  • 标准 C++ 与 Arduino 里的 C++ 有什么异同

同一套积木,另一种翻译

第二册里见过:拖动"LED 输出 高电平"等积木,Mind+ 自动翻译成 Python 代码。

其实 Mind+ 还会第二种翻译。在上传模式的代码区,把语言切换成 arduino C,同样那几块积木,生成的代码就变成了 C++:

Mind+ 同一套积木自动生成 Arduino 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 等ServoWire 等硬件库

常见坑

  • 不要以为"Arduino 板"才能用 Arduino——它是一套框架,Pico 也能用
  • C++ 里每句话结尾要加分号 ;,布尔值是小写 true / false(Python 是 True / False),看代码时别当成写错了

想一想

  1. 对比第 1 张截图(第二册)和本页的截图:同一套积木生成的两种代码,能找出几处"长得像"的地方?

    💡 查看答案

    至少能找到这些对应:pinMode(25, OUTPUT)Pin(25, Pin.OUT)(登记引脚)、digitalWritevalue()(控制亮灭)、delay(200)time.sleep(0.2)(等待)、loop()while True:(一直重复)。结构几乎一模一样,只是"用词"不同。

  2. delay(200)time.sleep(0.2) 表示的等待时长一样吗?

    💡 查看答案

    一样长,都是 0.2 秒。区别只在单位:delay()毫秒(200 毫秒),time.sleep()(0.2 秒)。这是两册代码对比时最容易看错的地方。

不积跬步,无以至千里;万里之行,始于当下。