Dear 大神们:
你们好,请问下esp32s3通过esp_read_mac这个函数读取到mac地址是否是唯一的ID呢。会不会有重复的问题。因为我想用一个唯一ID来区别我的设备。thks。
获取esp32s3唯一ID
Re: 获取esp32s3唯一ID
Code: Select all
#define _MAC2STR_(a) (a)[0],(a)[1],(a)[2],(a)[3],(a)[4],(a)[5]
#define _MACSTR_ "%02X:%02X:%02X:%02X:%02X:%02X"
//定义Mac地址存储空间
uint8_t mac_addr[6] = {0};
//获取Mac地址
esp_efuse_mac_get_default(mac_addr);
//打印Mac地址
printf("" _MACSTR_ "\n",_MAC2STR_(mac_addr));
-
- Posts: 17
- Joined: Tue Jan 17, 2023 2:08 am
Re: 获取esp32s3唯一ID
Dear jr-test:
你好,请问下您给的esp_efuse_mac_get_default跟我之前调用的esp_read_mac函数有什么不同呢?我之前那个函数能读出值,但是我不知道是否是唯一ID。THKS。
你好,请问下您给的esp_efuse_mac_get_default跟我之前调用的esp_read_mac函数有什么不同呢?我之前那个函数能读出值,但是我不知道是否是唯一ID。THKS。
-
- Posts: 17
- Joined: Tue Jan 17, 2023 2:08 am
Re: 获取esp32s3唯一ID
我用esp_read_mac读出来的地址是:
[0;32mI (564) BT MAC: 0xf4, 0x12, 0xfa, 0xe6, 0xcc, 0x6
而用esp_efuse_mac_get_default读出来的地址是:
[0;32mI (794) esp_efuse_mac_get_default read BT MAC: 0xf4, 0x12, 0xfa, 0xe6, 0xcc, 0x4[0m
最后一个字节不一样。是这两函数有什么不同吗?thks。
[0;32mI (564) BT MAC: 0xf4, 0x12, 0xfa, 0xe6, 0xcc, 0x6
而用esp_efuse_mac_get_default读出来的地址是:
[0;32mI (794) esp_efuse_mac_get_default read BT MAC: 0xf4, 0x12, 0xfa, 0xe6, 0xcc, 0x4[0m
最后一个字节不一样。是这两函数有什么不同吗?thks。
Re: 获取esp32s3唯一ID
Code: Select all
/**
* @brief Return base MAC address which is factory-programmed by Espressif in EFUSE.//返回由Espressif在EFUSE中工厂编程的基本MAC地址。
*
* @param mac base MAC address, length: 6 bytes/8 bytes.
* length: 6 bytes for MAC-48
* 8 bytes for EUI-64(used for IEEE 802.15.4)
*
* @return ESP_OK on success
* ESP_ERR_INVALID_ARG mac is NULL
*/
esp_err_t esp_efuse_mac_get_default(uint8_t *mac);
/**
* @brief Read base MAC address and set MAC address of the interface.//读取基本MAC地址并设置接口的MAC地址。
*
* This function first get base MAC address using esp_base_mac_addr_get().
* Then calculates the MAC address of the specific interface requested,
* refer to ESP-IDF Programming Guide for the algorithm.
*
* @param mac base MAC address, length: 6 bytes/8 bytes.
* length: 6 bytes for MAC-48
* 8 bytes for EUI-64(used for IEEE 802.15.4)
* @param type Type of MAC address to return
*
* @return ESP_OK on success
*/
esp_err_t esp_read_mac(uint8_t *mac, esp_mac_type_t type);
Who is online
Users browsing this forum: No registered users and 48 guests