有高手帮我看看代码由什么问题吗?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4127|回复: 0

[过期] 有高手帮我看看代码由什么问题吗?

[复制链接]
发表于 2013-8-16 22:54 | 显示全部楼层 |阅读模式
这段时间研究步进电机,买了42步的电机和L298N的驱动板,利用别人的代码改写了步进电机的代码,要实现的功能是,通过判断变量的值来实现步进电机的正转或反转N圈,写完第一个判断后,程序可以编译,但写完第二的判断后就报错,那位高手帮我看看代码由什么问题,或有更好编写请不吝啬赐教!!

int Pin0 = 8;int Pin1 = 9;int Pin2 = 10;int Pin3 = 11;int val;
int step = 0;//step=脚步
int stepperSpeed = 1;//电机转速,1ms一步// stepperSpeed(步进速度)
void setup(){  pinMode(Pin0, OUTPUT);  pinMode(Pin1, OUTPUT);  pinMode(Pin2, OUTPUT);  pinMode(Pin3, OUTPUT);}
void loop()
{  
switch(step)
{
              case 0:      digitalWrite(Pin0, LOW);      digitalWrite(Pin1, LOW);      digitalWrite(Pin2, LOW);      digitalWrite(Pin3, HIGH);
    break;    case 1:      digitalWrite(Pin0, LOW);      digitalWrite(Pin1, LOW);      digitalWrite(Pin2, HIGH);     digitalWrite(Pin3, HIGH);
    break;    case 2:      digitalWrite(Pin0, LOW);      digitalWrite(Pin1, LOW);      digitalWrite(Pin2, HIGH);     digitalWrite(Pin3, LOW);
    break;    case 3:      digitalWrite(Pin0, LOW);      digitalWrite(Pin1, HIGH);     digitalWrite(Pin2, HIGH);     digitalWrite(Pin3, LOW);
    break;    case 4:      digitalWrite(Pin0, LOW);      digitalWrite(Pin1, HIGH);     digitalWrite(Pin2, LOW);      digitalWrite(Pin3, LOW);
    break;    case 5:      digitalWrite(Pin0, HIGH);     digitalWrite(Pin1, HIGH);     digitalWrite(Pin2, LOW);      digitalWrite(Pin3, LOW);
    break;    case 6:      digitalWrite(Pin0, HIGH);     digitalWrite(Pin1, LOW);      digitalWrite(Pin2, LOW);      digitalWrite(Pin3, LOW);
    break;    case 7:      digitalWrite(Pin0, HIGH);     digitalWrite(Pin1, LOW);      digitalWrite(Pin2, LOW);      digitalWrite(Pin3, HIGH);
    break;    default:     digitalWrite(Pin0, LOW);      digitalWrite(Pin1, LOW);      digitalWrite(Pin2, LOW);      digitalWrite(Pin3, LOW);
    break;
}
   
    if (val='z')  //Z/F为正反转判断
    {
      for (int i=0;i>=300;i++)
           {
              if(step>7)
                 {step=0;step++;}
            }

   if (val='f')
     {
     for (int i=300;i<=0;i--)
          {
            if(step<0)
                  {setp=7;step--;}//问题出现在这行
          }
     }

  }

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-3 07:57 , Processed in 0.107553 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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