Update GetChipID.ino (#4070)
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									1f6b0b35f8
								
							
						
					
					
						commit
						d56267bd8c
					
				| @ -1,17 +1,30 @@ | ||||
| uint64_t chipid;   | ||||
| /* The true ESP32 chip ID is essentially its MAC address.
 | ||||
| This sketch provides an alternate chip ID that matches  | ||||
| the output of the ESP.getChipId() function on ESP8266  | ||||
| (i.e. a 32-bit integer matching the last 3 bytes of  | ||||
| the MAC address. This is less unique than the  | ||||
| MAC address chip ID, but is helpful when you need  | ||||
| an identifier that can be no more than a 32-bit integer  | ||||
| (like for switch...case). | ||||
| 
 | ||||
| created 2020-06-07 by cweinhofer | ||||
| with help from Cicicok */ | ||||
| 	 | ||||
| uint32_t chipId = 0; | ||||
| 
 | ||||
| void setup() { | ||||
| 	Serial.begin(115200); | ||||
| } | ||||
| 
 | ||||
| void loop() { | ||||
| 	chipid=ESP.getEfuseMac();//The chip ID is essentially its MAC address(length: 6 bytes).
 | ||||
| 	Serial.printf("ESP32 Chip ID = %04X",(uint16_t)(chipid>>32));//print High 2 bytes
 | ||||
| 	Serial.printf("%08X\n",(uint32_t)chipid);//print Low 4bytes.
 | ||||
| 	for(int i=0; i<17; i=i+8) { | ||||
| 	  chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i; | ||||
| 	} | ||||
| 
 | ||||
| 	Serial.printf("ESP32 Chip model = %s Rev %d\n", ESP.getChipModel(), ESP.getChipRevision()); | ||||
| 	Serial.printf("This chip has %d cores\n", ESP.getChipCores()); | ||||
| 
 | ||||
|   Serial.print("Chip ID: "); Serial.println(chipId); | ||||
|    | ||||
| 	delay(3000); | ||||
| 
 | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user