setup()
外面)→ 厨房台面作用:摆放所有食材和工具
调料罐(常量):#define LED 13
食材碗(变量):int 温度;
智能厨具(对象):Servo 我的舵机;
特点:
▶️ 全程可用:setup()
和loop()
都能随手拿
▶️ 只摆不操作:不能在这里炒菜(不能执行函数)
void setup()
→ 开火前准备作用:一次性开机动作
插电器:我的舵机.attach(9);
开通讯:Serial.begin(9600);
调状态:digitalWrite(LED, HIGH);
特点:
▶️ 只做一次:重启Arduino才会重做
▶️ 必须完成:忘记插电→厨具罢工!
void loop()
→ 循环翻炒作用:永不停止的核心任务
void loop() { 读取温度(); // 尝味道 调节火力(); // 调灶台 delay(500); // 等5秒再翻动 }
特点:
▶️ 死后循环:从setup()
结束跑到断电
▶️ 避免卡住:少用长delay()
(像别让菜糊锅底)
作用:封装重复操作,随用随取
// 声明辣酱配方(全局区) void 加辣酱(int 辣度) { analogWrite(辣酱机, 辣度); delay(100); } // 在loop中使用 void loop() { 加辣酱(80); // 挖一勺! }
特点:
▶️ 避免重复:同一个动作不用写三遍
▶️ 灵活定制:通过参数调整(如辣度)
通电启动 ↓ 摆好台面(全局区)→ 食材/工具就位 ↓ 开火准备(setup) → 只做一次! ↓ [永不停止]→循环翻炒(loop)←──────┐ │ │ │ 需要时调用 → 自制调料包(函数)│ └─────────────────────────────┘
部分 | 现实比喻 | 编程本质 |
---|---|---|
全局区 | 厨房台面 | 资源声明(变量/对象) |
setup() | 开机按钮 | 一次性初始化 |
loop() | 呼吸心跳 | 主循环(不可停止) |
自定义函数 | 预制菜/快捷键 | 模块化封装 |
别在全局区炒菜
→ 错误:int x = analogRead(A0);
(全局区不能执行函数)
setup不是储物柜
→ 局部变量int temp;
在setup结束后消失
loop是永动机
→ 避免while(1)
嵌套(像在炒锅里再塞个炒锅)
常用工具放台面
→ 高频数据放全局变量(避免在loop反复创建)
✅ 终极口诀:
摆台面(全局)→ 备料(setup)→ 开炒(loop)
复杂操作包调料(函数)!
掌握这套「厨房编程法」,Arduino项目就像做菜一样简单美味!