qrd 发表于 2013-7-13 21:58:02

if语句后的程序不执行了怎么办

设计一程序,让电机驱动板(可以控制两个电机)控制一个运动,一个根据按键正反转,但是通电后发现没按键控制的电机不动了,就是if语句后的程序不执行了,是什么原因,程序如下:
#include <Servo.h>
int pinI1=8;//定义I1接口
int pinI2=9;//定义I2接口
int speedpin=10;//定义EA(PWM调速)接口

int pinI3=1;//定义I1接口
int pinI4=2;//定义I2接口
int speedpin0=11;//定义EA(PWM调速)接口

int button_1 =3;//按钮1连在数字端口1
int button_2 =4;//按钮2连在数字端口2

void setup()
{
pinMode(button_1, INPUT); //设置按钮1为输入
pinMode(button_2, INPUT); //设置按钮2为输入


pinMode(pinI1,OUTPUT);//定义该接口为输出接口
pinMode(pinI2,OUTPUT);
pinMode(speedpin,OUTPUT);

pinMode(pinI3,OUTPUT);//定义该接口为输出接口
pinMode(pinI4,OUTPUT);
pinMode(speedpin0,OUTPUT);

   Serial.begin(9600);
}

void loop()
{
if( digitalRead(button_1)==LOW&&digitalRead(button_2)==HIGH)
{
    analogWrite(speedpin,550);//输入模拟值进行设定速度
delay(2000);
digitalWrite(pinI1,LOW);//使直流电机顺时针转
digitalWrite(pinI2,HIGH);
   
}

   if( digitalRead(button_2)==LOW&&digitalRead(button_1)==HIGH)
{
    analogWrite(speedpin,550);//输入模拟值进行设定速度
delay(2000);
digitalWrite(pinI2,LOW);//使直流电机顺时针转
digitalWrite(pinI1,HIGH);
   
}

analogWrite(speedpin0,550);//输入模拟值进行设定速度
delay(2000);
digitalWrite(pinI3,LOW);//使直流电机顺时针转
digitalWrite(pinI4,HIGH);

}

yuanzhi 发表于 2013-7-14 07:42:22

用个多线程来控制吧。!

qrd 发表于 2013-7-14 11:20:21

多线程??怎么搞

yyy_zc 发表于 2013-7-18 22:43:21

l两个 IF那一个不执行了,是否有硬件原因。if 语句可再拆分细一点来判断问题
页: [1]
查看完整版本: if语句后的程序不执行了怎么办