简体中文
  • 关于 uKit Explore
  • uKit Explore快速上手
    • 如何获取SDK
    • uKit Explore 引脚图
    • 灰度传感器介绍及答疑
    • 灰度传感器记录指引
    • 灰度传感器固件更新
  • uKit Explore 函数库
    • uKit Explore 库文件介绍
    • 传感器
      • 眼灯
        • setEyelightAllPetals(id,red,green,blue)
        • setEyelightPetals(id,petalsnum,petals)
        • setEyelightLook(id,face,times,red,green,blue)
        • setEyelightLookUntil(id,face,times,red,green,blue)
        • setEyelightScene(id,scene,times);
        • setEyelightSceneUntil(id,scene,times)
        • setEyelightOff(id)
      • 超声波传感器
        • setUltrasonicRgbled(id,red,green,blue)
        • setUltrasonicRgbledOff(id)
        • readUltrasonicDistance(id)
      • 红外传感器
        • readInfraredDistance(id)
      • 按压传感器
        • readButtonValue(id)
      • 亮度传感器
        • readLightValue(id)
      • 声音传感器
        • readSoundValue(id)
      • 温湿度传感器
        • readHumitureValue(id,choice)
      • 颜色传感器
        • readColorRgb(id)
        • readColor(id,color)
    • 舵机
      • setServoTurn(id,dir, speed)
      • setServoAngle(id,angle,times)
      • readServoAngleNPD(id)
      • readServoAnglePD(id)
    • 电机
      • setMotorTurnAdj(id, speed,time)
      • setMotorTurn(id,pwmDuty)
      • setMotorStop(id)
      • readMotorSpeed(id)
    • 板载硬件
      • 按键
        • button1.Update();
        • button1.clicks()
      • 蜂鸣器
        • noTone(pin)
        • tone(frequency, duration)
      • setRgbledColor(red,green,blue)
      • readBatteryVoltage()
      • 陀螺仪
        • IMU::init()
        • IMU::read()
        • IMU::getRawAccelX()
        • IMU::getRawAccelY()
        • IMU::getRawAccelZ()
        • IMU::getRawGyroX()
        • IMU::getRawGyroY()
        • IMU::getRawGyroZ()
        • IMU::getRoll()
        • IMU::getPitch()
  • Arduino 函数库
    • 结构部分
      • 主函数
        • setup()
        • loop()
      • 结构控制
        • if
        • if...else
        • for
        • switch...case
        • while
        • do...while
        • break
        • continue
        • return
        • goto
      • 扩展语法
        • ;
        • {}
        • //
        • /* */
        • #define
        • #include
      • 字符
        • isAlphaNumeric(thisChar)
        • isAlpha(thisChar)
        • isAscii(thisChar)
        • isWhitespace(thisChar)
        • isControl(thisChar)
        • isDigit(thisChar)
        • isGraph(thisChar)
        • isLowerCase(thisChar)
        • isUpperCase(thisChar)
        • isHexadecimalDigit(thisChar)
    • 函数部分
      • 模拟I/O
        • analogWrite(pin,value)
        • analogRead(pin)
      • 数字I/O
        • digitalWrite(pin, value)
        • digitalRead(pin)
        • digitalToggle(pin)
        • pinMode(pin, mode)
      • 高级I/O
        • pulseIn(pin, value, timeout)
        • shiftIn(dataPin,clockPin,bitOrder)
        • shiftOut(dataPin, clockPin, bitOrder, value)
      • 时间
        • millis()
        • micros()
        • delay(ms)
        • delayMicroseconds(us)
      • 随机数
        • randomSeed(seed)
        • random(min, max)
      • 位操作
        • lowByte(x)
        • highByte(x)
        • bitRead(x,n)
        • bitWrite(x,n,b)
        • bitSet(x,n)
        • bitClear(x,n)
        • bit(n)
      • 外部中断
        • attachInterrupt(interrupt, function, mode)
        • detachInterrupt(interrupt)
      • 中断函数
        • interrupts()
        • noInterrupts()
      • 通讯
        • Serial.available()
        • Serial.begin(speed)
        • Serial.end()
        • Serial.find(target)
        • Serial.findUntil(target, terminal)
        • Serial.flush()
        • Serial.parseFloat()
        • Serial.parseInt()
        • Serial.peek()
        • Serial.print(val,format)
        • Serial.println(val,format)
        • serial.read()
        • Serial.readBytes(buffer, length)
        • Serial.readBytesUntil(character, buffer, length)
        • Serial.setTimeout(time)
        • Serial.write()
        • serialEvent
由 GitBook 提供支持
在本页
  • 例子
  • 编程提示

这有帮助吗?

  1. Arduino 函数库
  2. 结构部分
  3. 结构控制

for

for语句用于重复执行一段在花括号之内的代码。通常使用一个增量计数器计数并终止循环

for语句用于重复性的操作非常有效,通常与数组结合起来使用来操作数据、引脚。

for循环开头有3个部分:

for(初始化;条件;增量计数){
    //语句
}

“初始化”只在循环开始执行一次。每次循环,都会检测一次条件;如果条件为真,则执行语句和“增量计数”,之后再检测条件。当条件为假时,循环终止。

例子

//用PWM引脚将LED变暗
int PWMpin = 10; //将一个LED与47Ω电阻串联接在10脚 
void setup(){
    //无需设置
}

void loop(){   
    for (int i=0; i <= 255; i++){      
    analogWrite(PWMpin, i);      
    delay(10);
    }
}

编程提示

C语言的for循环语句比BASIC和其他电脑编程语言的for语句更灵活。除了分号以外,其他3个元素都能省略。同时,初始化,条件,增量计算可以是任何包括无关变量的有效C语句,任何C数据类型包括float。这些不寻常的for语句可能会解决一些困难的编程问题。

例如,在增量计数中使用乘法可以得到一个等比数列:

for(int x = 2; x < 100; x = x * 1.5){
    println(x);
}

生成:2,3,4,6,9,13,19,28,42,63,94

另一个例子,使用for循环使LED产生渐亮渐灭的效果:

void loop(){   
    int x = 1;   
    for (int i = 0; i > -1; i = i + x){
        analogWrite(PWMpin, i);      
        if (i == 255) x = -1;// 在峰值转变方向     
        delay(10);
    }
}
上一页if...else下一页switch...case

最后更新于5年前

这有帮助吗?