Print last reset reason example (#458)
This commit is contained in:
		
							parent
							
								
									7811668fb1
								
							
						
					
					
						commit
						023a32bc12
					
				
							
								
								
									
										47
									
								
								libraries/ESP32/examples/ResetReason/ResetReason.ino
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								libraries/ESP32/examples/ResetReason/ResetReason.ino
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| /* Print last reset reason of ESP32
 | ||||
| *  by Evandro Luis Copercini - 2017 | ||||
| *  Public Domain License. | ||||
| */ | ||||
| 
 | ||||
| #include <rom/rtc.h> | ||||
| 
 | ||||
| void print_reset_reason(RESET_REASON reason) | ||||
| { | ||||
|   switch ( reason) | ||||
|   { | ||||
|     case 1 : Serial.println ("POWERON_RESET");break;          /**<1,  Vbat power on reset*/ | ||||
|     case 3 : Serial.println ("SW_RESET");break;               /**<3,  Software reset digital core*/ | ||||
|     case 4 : Serial.println ("OWDT_RESET");break;             /**<4,  Legacy watch dog reset digital core*/ | ||||
|     case 5 : Serial.println ("DEEPSLEEP_RESET");break;        /**<5,  Deep Sleep reset digital core*/ | ||||
|     case 6 : Serial.println ("SDIO_RESET");break;             /**<6,  Reset by SLC module, reset digital core*/ | ||||
|     case 7 : Serial.println ("TG0WDT_SYS_RESET");break;       /**<7,  Timer Group0 Watch dog reset digital core*/ | ||||
|     case 8 : Serial.println ("TG1WDT_SYS_RESET");break;       /**<8,  Timer Group1 Watch dog reset digital core*/ | ||||
|     case 9 : Serial.println ("RTCWDT_SYS_RESET");break;       /**<9,  RTC Watch dog Reset digital core*/ | ||||
|     case 10 : Serial.println ("INTRUSION_RESET");break;       /**<10, Instrusion tested to reset CPU*/ | ||||
|     case 11 : Serial.println ("TGWDT_CPU_RESET");break;       /**<11, Time Group reset CPU*/ | ||||
|     case 12 : Serial.println ("SW_CPU_RESET");break;          /**<12, Software reset CPU*/ | ||||
|     case 13 : Serial.println ("RTCWDT_CPU_RESET");break;      /**<13, RTC Watch dog Reset CPU*/ | ||||
|     case 14 : Serial.println ("EXT_CPU_RESET");break;         /**<14, for APP CPU, reseted by PRO CPU*/ | ||||
|     case 15 : Serial.println ("RTCWDT_BROWN_OUT_RESET");break;/**<15, Reset when the vdd voltage is not stable*/ | ||||
|     case 16 : Serial.println ("RTCWDT_RTC_RESET");break;      /**<16, RTC Watch dog reset digital core and rtc module*/ | ||||
|     default : Serial.println ("NO_MEAN"); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| void setup() { | ||||
|   // put your setup code here, to run once:
 | ||||
|   Serial.begin(115200); | ||||
|   delay(2000); | ||||
| 
 | ||||
|   Serial.println("CPU0 reset reason: "); | ||||
|   print_reset_reason(rtc_get_reset_reason(0)); | ||||
| 
 | ||||
|   Serial.println("CPU1 reset reason: "); | ||||
|   print_reset_reason(rtc_get_reset_reason(1)); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| void loop() { | ||||
|   // put your main code here, to run repeatedly:
 | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user