Arduino编程小问题,拜托各路大神了-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4579|回复: 0

[过期] Arduino编程小问题,拜托各路大神了

[复制链接]
发表于 2013-4-10 20:10 | 显示全部楼层 |阅读模式
本帖最后由 chylove 于 2013-4-10 22:22 编辑

求各位大神帮我看为什么会出现这样的情况??
  #include <Servo.h>
    Servo servo1;  //舵机1
    Servo servo2;  //舵机2
    int x,i=1,k; //问题标记①
   void setup()
    {
      servo1.attach(3);
      servo1.write(125);
      servo2.attach(5);
      servo2.write(125);
    }
    int Lfoot()    //定义舵机1函数
    {
       for(x=125;x>70;x-=i)  
       {   
         servo1.write(x);
         delay(10);
       }
    }
    int Rfoot()    //定义舵机2函数
    {
       for(x=125;x>70;x-=i)  
       {   
         servo2.write(x);
         delay(10);
       }
    }
   void loop()
   {
     static int j=0;
     if(j==0)
     {
     Wpos();   
//    Wpos()是我编的一个函数,已定义,这里为了省时间不写出来。
    Lfoot();   //问题标记②
      j=j+1;
    }
     for(k=1;k<2;k++)    //(问题标记③)
注释:如果k=1,调用函数Lfoot(),如果k=2,调用函数Rfoot().
      {
         if(k=1)
        {
            Lfoot();
         }
         if(k=2)
        {
            Rfoot();
        }
      }
   }
   
         
     问题如下:   1、      请问int i 后,假如i没有定义i的数值,那i是什么数值呢?应该是0吧。
                      2、如果将问题标记③的循环中的 k 改为 i 就可正常运行。为什么这样呢??……
             3、在问题2将  k改为 i 的情况下(这时程序正常运行),如果将问题标记①中的int i=1,改为int i,并在void loop()
                           中static in j =0语句前面加上int i=1,然后,这里面的问题标记②中的Lfoot()就不运行了,后面的for()循环也
                没反应。那是为什么呢?望指教。。。

               就是说,问题标记①要写成int i = 1; 问题标记③的for()循环里面的全部改为i,即可正常运行,缺一不可,我不知道这是为什么,望各位大虾指教。。。Thank you!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-3 05:53 , Processed in 0.071241 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表