用大白话和日常比喻给你讲清楚 Arduino 中 setup() 外面和里面的区别

就像准备做饭和真正开火一样:


🧺 void setup() 外面(全局区):准备食材和工具

就像做饭前,把要用到的东西都摆在台面上
这里是你一次性声明所有要用到的东西,告诉 Arduino:

  • 🧂 “这些调料(常量)固定不变!”
    #define LED_PIN 13 // 比如:盐罐子就放灶台左边
    const int 按钮 = 2; // 酱油瓶放右边,位置定死!

  • 🥬 “这些菜(变量)全程都能用!”
    int 温度; // 比如:切好的青菜放碗里,随时取
    String 收到的消息; // 煮好的汤放锅里,随时加料

  • 🔧 “这些电器(对象)插好电待命!”
    Servo 我的舵机; // 电饭锅摆好,但还没按开关
    LiquidCrystal 屏幕(12,11,5,4,3,2); // 微波炉放好,但没设置时间

关键特点
这些东西从开始到结束一直存在! 就像灶台上的工具,setup()loop()都能随手拿到。


🔥 void setup() 里面(函数内部):开火做准备工作

就像正式开炒前,必须做的那些“一次性”操作
这里是你对硬件下指令,告诉 Arduino:

  • 🔌 “把XX引脚设置好!”
    pinMode(LED_PIN, OUTPUT); // 比如:把盐罐盖子拧开(设置引脚为输出)
    pinMode(按钮, INPUT); // 把酱油瓶的瓶口打开(设置引脚为输入)

  • 📞 “启动XX通讯!”
    Serial.begin(9600); // 打开对讲机,和电脑说:“喂喂?能听到吗?”(启动串口)

  • ⚙️ “设备给我连上!”
    我的舵机.attach(9); // 把舵机插到9号引脚,就像把电饭锅插头插进插座
    屏幕.begin(16,2); // 告诉屏幕:“你是16列2行的!”(初始化显示屏)

  • 🎛️ “初始状态调好!”
    digitalWrite(LED_PIN, LOW); // 关灯!就像先把火调到最小
    温度 = 25; // 默认温度设成25度(给全局变量赋初值)

关键特点
这些操作只做一次! 就像开火前准备——你不会每炒一下菜都重新插电饭锅插头吧?


🍳 超形象总结:厨房做饭版

setup() 外面 (全局区)setup() 里面 (初始化)
作用食材、调料、锅具摆上台面开火前必须做的一次性准备
类比切好菜、米淘好、盐罐酱油瓶放灶台、电饭锅摆好开煤气灶、插电饭锅电源、拧开调料盖、把锅烧热
频率摆好就一直能用(全程有效)只做一次!(重启Arduino才会重做)
出错忘记摆盐 → 整个菜没法做 (全局变量没声明)忘记开煤气 → 菜炒不熟 (没初始化硬件)

💡 举个真实例子:

// === 外面:摆好东西 ===
#define 绿灯 3     // 常量:绿灯插在3号口 (位置固定)
int 计数器 = 0;    // 变量:计次用的本子放桌上 (全程记录)
Servo 小舵机;      // 对象:小舵机放台面上 (但还没接线!)

// === setup里面:开机准备 ===
void setup() {
  pinMode(绿灯, OUTPUT);      // 把绿灯插针插好!
  Serial.begin(9600);         // 打开和电脑的对讲机
  小舵机.attach(5);           // 把小舵机插到5号口!
  计数器 = 100;               // 在本子第一页写个100 (初始值)
}

// === loop里面:正式干活(反复执行)===
void loop() {
  计数器++;                   // 每次循环在本子上+1 (可修改全局变量)
  digitalWrite(绿灯, HIGH);   // 亮绿灯!
  小舵机.write(90);           // 让小舵机转90度!
}

一句话秒懂

外面准备东西(全程有效),里面开机动作(只做一次)——
就像手机:外面是装好的APP(一直存在),里面是按开机键(启动时只按一次)!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值