You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include "xs_id.h"
#include "main.h"
#include "rng.h"
extern RNG_HandleTypeDef hrng;
void xs_id_generate_random_mac(mac_t* id) { id->mac[0] = 0x00; // 00 80 E1 ��STM32��MAC��ַǰ��λ
id->mac[1] = 0x80; id->mac[2] = 0xE1;
uint32_t random0 = 0; uint32_t random1 = 0; uint32_t random2 = 0; HAL_RNG_GenerateRandomNumber(&hrng, &random0); HAL_RNG_GenerateRandomNumber(&hrng, &random1); HAL_RNG_GenerateRandomNumber(&hrng, &random2);
id->mac[3] = random0 % 256; id->mac[4] = random1 % 256; id->mac[5] = random2 % 256; } void xs_id_get_uuid(device_id_t* id) { // UID_BASE
uint8_t* uid_base = (uint8_t*)UID_BASE; for (int32_t i = 0; i < 12; i++) { id->id[i] = uid_base[i]; } return; }
|