arduino NANO 9V供电问题

qq_44016871 2020-05-13 01:32:40
用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();
}
...全文
588 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,315

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用专区,欢迎大家讨论硬件相关内容 宝藏!数字IC精品文章收录(CSDN近500篇) http://t.csdn.cn/QbivO
社区管理员
  • 硬件使用社区
  • 张江打工人
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧