Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
arduino引脚的默认状态是什么?_Arduino_Arduino Uno_Arduino Ide - Fatal编程技术网

arduino引脚的默认状态是什么?

arduino引脚的默认状态是什么?,arduino,arduino-uno,arduino-ide,Arduino,Arduino Uno,Arduino Ide,我有2个输入管脚,希望根据管脚的状态(高/低)打印特定的数字 我为此编写了以下程序,但它只打印串行端口中的错误 下面是代码 intl1=2; int L2=3; 无效设置(){ //将安装代码放在此处,以便运行一次: 引脚模式(L1,输入); pinMode(L2,输入); Serial.begin(9600); } void循环(){ //将主代码放在此处,以便重复运行: 如果(L1==高&&L2==高){ 序列号println(10); } else if(L1==高和&L2==低){ 序列

我有2个输入管脚,希望根据管脚的状态(高/低)打印特定的数字

我为此编写了以下程序,但它只打印串行端口中的错误

下面是代码

intl1=2;
int L2=3;
无效设置(){
//将安装代码放在此处,以便运行一次:
引脚模式(L1,输入);
pinMode(L2,输入);
Serial.begin(9600);
}
void循环(){
//将主代码放在此处,以便重复运行:
如果(L1==高&&L2==高){
序列号println(10);
}
else if(L1==高和&L2==低){
序列号println(20);
}
else if(L1==低&&L2==低){
序列号println(30);
}
else if(L1==低和&L2==高){
序列号println(40);
}
否则{
Serial.println(“错误”);
}
延迟(2000年);
}

您不应该使用L2==LOW/HIGH,正如您在开始时定义的,L2始终等于3

相反,您应该使用digitalRead(L2)

例如:

void循环(){
如果(数字读取(L1)=高和数字读取(L2)=高){
序列号println(10);
}
否则如果(数字读取(L1)=高和数字读取(L2)=低){
序列号println(20);
}
否则如果(digitalRead(L1)=低和&digitalRead(L2)=低){
序列号println(30);
}
否则如果(数字读取(L1)=低和数字读取(L2)=高){
序列号println(40);
}
否则{
Serial.println(“错误”);
}
延迟(2000年);
}

digitalRead的返回值不是布尔值。在更新的Arduino API中,它是一个PinStatus枚举,因此应将该值与枚举的高值和低值进行比较。请阅读部件的数据表。每个数据表都记录了这一点。