想要读取唯一ID,就需要知道它的存储地址,在不同系列的MCU中地址是有差别的,我们查询了部分MCU的资料并将其总结如下
根据手册查询ID地址替换下面的地址:
void GetChipUniqueID(void) { u32 chipUniqueID32[3]; chipUniqueID32[0] = *(__IO u32*)(0X1FFFF7F2);//ID地址的高32位寄存器地址 chipUniqueID32[1] = *(__IO u32*)(0X1FFFF7EE);//ID地址的中32位寄存器地址 chipUniqueID32[2] = *(__IO u32*)(0X1FFFF7E8);//ID地址的低32位寄存器地址 printf("此芯片的唯一ID为:%d-%d-%d\r\n"chipUniqueID32[0]chipUniqueID32[2]chipUniqueID32[2]); }