arduino NANO 9V供电问题
用9V3A电源供电,控制小灯的点亮,但通电一分钟后不能正常控制,换用6V电源供电后能正常使用,这是什么原因?
用9V电源供电,控制485通讯9600波特率不能正常通讯,改为115200波特率就能正常通讯,是什么原因?
求各位大神帮忙解答下!!
以及NANO的10引脚控制是不是有什么特殊含义,用10 引脚控制小灯点亮,不能正常控制,是什么呢原因?
int c=0;
int var=0;
int a=0;
uint8_t buffer[2]="a1";
String comdata="";
String str;
String tcaspass;
String tcasfail;
String topant;
String botant;
String hdg;
String ralog;
String tadisp;
String radisp;
String radalt;
String xpdrbus;
String att;
int testPin = 13; // 按键的管脚定义
void setup()
{
Serial.begin(9600,SERIAL_8O1);
pinMode(testPin, INPUT_PULLUP); //设置按键管脚上拉输入模式
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void Recive485()
{
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
if (comdata.length() > 0)
{
// Serial.println(comdata);
str=comdata;
comdata = "";
}
}
void Send()
{
if(digitalRead(testPin) == HIGH)
{
buffer[1]=0x41;
buffer[1]=0x31;
Serial.write(buffer,2);
Serial.println(" ");
delay(100);
}
else
{
digitalWrite(10,LOW);
}
}
void choose()
{
if (digitalRead(testPin) == HIGH) //有按键按下
{
delay(20); //延时去抖动
if (digitalRead(testPin) == HIGH) //有按键按下
{
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
delay(3000);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
if(str.length()==47)
{
tcaspass=str.substring(0,2);
if(tcaspass=="A1"){digitalWrite(2,LOW);}
if(tcaspass=="A2"){digitalWrite(2,HIGH);}
tcasfail=str.substring(2,4);
if(tcasfail=="B1"){digitalWrite(4,LOW);}
if(tcasfail=="B2"){digitalWrite(4,HIGH);}
topant=str.substring(4,6);
if(topant=="C1"){digitalWrite(6,LOW);}
if(topant=="C2"){digitalWrite(6,HIGH);}
botant=str.substring(6,8);
if(botant=="D1"){digitalWrite(8,LOW);}
if(botant=="D2"){digitalWrite(8,HIGH);}
hdg=str.substring(8,10);
if(hdg=="E1"){digitalWrite(10,LOW);}
if(hdg=="E2"){digitalWrite(10,HIGH);}
ralog=str.substring(10,12);
if(ralog=="F1"){digitalWrite(12,LOW);}
if(ralog=="F2"){digitalWrite(12,HIGH);}
tadisp=str.substring(12,14);
if(tadisp=="G1"){digitalWrite(3,LOW);}
if(tadisp=="G2"){digitalWrite(3,HIGH);}
radisp=str.substring(14,16);
if(radisp=="H1"){digitalWrite(5,LOW);}
if(radisp=="H2"){digitalWrite(5,HIGH);}
radalt=str.substring(16,18);
if(radalt=="I1"){digitalWrite(7,LOW);}
if(radalt=="I2"){digitalWrite(7,HIGH);}
xpdrbus=str.substring(18,20);
if(xpdrbus=="J1"){digitalWrite(9,LOW);}
if(xpdrbus=="J2"){digitalWrite(9,HIGH);}
att=str.substring(20,22);
if(att=="K1"){digitalWrite(11,LOW);}
if(att=="K2"){digitalWrite(11,HIGH);}
}
else
{
digitalWrite(2,HIGH);
}
}
}
}
void loop()
{
Recive485();
Send();
choose();
}