Reboot arduino par logiciel.

Sur une carte DUE il y a plusieurs façons de provoquer un software Reset.

Un exemple ici :

void setup() {

  Serial.begin(250000);
  GPBR->SYS_GPBR[0] ++;
  Serial.print("GPBR[0] = "); Serial.println( GPBR->SYS_GPBR[0] ); 
  uint32_t   status = (RSTC->RSTC_SR & RSTC_SR_RSTTYP_Msk) >> RSTC_SR_RSTTYP_Pos;
  Serial.print("\nRSTTYP = 0b"); Serial.println(status, BIN);  // Should be 0b011 see page 232
}

void loop() {

  delay(1000);
  __DSB();
  __DMB();

  SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | SCB_AIRCR_SYSRESETREQ_Msk);//software reset
}