Blink_No_Pause.pde:

/*
 闪烁
 不受暂停影响版,原版 delay 函数会导致整个系统挂起,严重影响执行。
 这个采用系统时间判断,其他代码不受影响,系统无挂起。
 打开一个LED指定毫秒,然后熄灭指定毫秒,反复进行。
 这个示例代码是共享的
*/

int ledpin = 13; //引脚 13 是一个连接在大多数 Arduino 主板的 LED
int ledint = 100; //主板 LED 灯闪烁时间间隔
long ledi; //时间计数器
boolean ledstatus = false; //LED 当前状态

void setup() {
  pinMode(ledpin, OUTPUT); //初始化数字引脚作为一个输出
}

void loop() {
  ledflash(); //控制主板 LED 灯闪烁
}

void ledflash() //控制主板 LED 灯闪烁
{
  if ((millis() - ledi) > ledint) //判断时间间隔
  {
    ledi = millis(); //记录时间
    if (ledstatus == false) //根据 LED 当前状态进行开关操作
    {
      digitalWrite(ledpin, HIGH); //打开LED
      ledstatus = true; //设置 LED 状态
    }
    else
    {
      digitalWrite(ledpin, LOW); //关闭LED
      ledstatus = false; //设置 LED 状态
    }
  }
}

Blink.pde:

/*
  闪烁
  使用 delay 函数进行延时,将会导致整个系统挂起,在此期间其他代码不执行,推荐使用“Blink_No_Pause”。
  打开一个LED指定毫秒,然后熄灭指定毫秒,反复进行。
  这个示例代码是共享的
*/
int ledpin = 13;                 //引脚 13 是一个连接在大多数 Arduino 主板的 LED

void setup() {
  pinMode(ledpin, OUTPUT);       //初始化数字引脚作为一个输出
}

void loop() {
  digitalWrite(ledpin, HIGH);    //打开LED
  delay(500);                    //等待指定时间
  digitalWrite(ledpin, LOW);     //关闭LED
  delay(500);                    //等待指定时间
}