×
单片机 > 单片机程序设计 > 详情

STM32唯一ID读取方法

发布时间:2020-09-01 发布时间:
|

STM32唯一ID


STM32微控制器有一个96位的产品唯一身份标识,在任何情况下都是唯一且不允许修改 

这个96位的产品唯一身份标识,可以以字节(8位)为单位读取,也可以以半字(16位)或者全字(32位)读取。 

基地址:0x1FFF F7E8


以全字(32bit)读取


u32 GetLockCode(void) {

    u32 stm32Id[3]={0};

    stm32Id[0]=*(vu32*)(0x1ffff7e8);

    stm32Id[1]=*(vu32*)(0x1ffff7ec);

    stm32Id[2]=*(vu32*)(0x1ffff7f0);

    return (stm32Id[0]>>1)+(stm32Id[1]>>2)+(stm32Id[2]>>3);

}


以字节(8bit)读取


#define STM32_UNIQUE_ID_SIZE 12

u8 g_stm32_uniqueId[STM32_UNIQUE_ID_SIZE] = {0};

u8* util_readStm32UniqueCode(void) {

    vu8 * addr = (vu8*)(0x1FFFF7E8);

    u8 i;

    for(i=0; i

        u8 v = *addr;

        g_stm32_uniqueId[i] = v;

        ++addr;

    }

    return g_stm32_uniqueId;

}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项