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);
}
用个多线程来控制吧。! 多线程??怎么搞 l两个 IF那一个不执行了,是否有硬件原因。if 语句可再拆分细一点来判断问题
页:
[1]