Arduino重置-复位
三种方式手动重启Arduino
1.Arduino板上重新编写代码时,Arduino将重新设置
2.Arduino软件中打开串行终端,同时将Arduino板连接到计算机。打开串行终端时,Arduino会自动重置
3.按下复位按钮
两种方式自动重启Arduino
详情见:
https://www.theengineeringprojects.com/2015/10/upload-bootloader-atmega328.html
1.使用Arduino板上的RESET引脚以编程方式重新设置Arduino,就是利用一个数字口,代码运行到那的时候就将REST置低
这里利用数字口D2
int Reset = 2;
void setup() {
digitalWrite(Reset, HIGH);
delay(200);
pinMode(Reset, OUTPUT);
Serial.begin(9600);
Serial.println("How to Reset Arduino Programmatically");
delay(200);
}
void loop()
{
Serial.println("A");
delay(1000);
Serial.println("B");
delay(1000);
Serial.println("Now we are Resetting Arduino Programmatically");
Serial.println();
delay(1000);
digitalWrite(Reset, LOW);
Serial.println("Arduino will never reach there.");
}
说明:
–In this method, we are not gonna use any hardware pin, instead we will do everything in programming.
–Arduino has a builtin function named as resetFunc() which we need to declare at address 0 and when we execute this function Arduino gets reset automatically.
–So, no need of doing anything in hardware and simply upload the below code in your Arduino board.
void(* resetFunc) (void) = 0;
void setup() {
Serial.begin(9600);
Serial.println("How to Reset Arduino Programmatically");
delay(200);
}
void loop()
{
Serial.println("A");
delay(1000);
Serial.println("B");
delay(1000);
Serial.println("Now we are Resetting Arduino Programmatically");
Serial.println();
delay(1000);
resetFunc();
Serial.println("Arrduino will never reach there.");
}