id读取
u8 i;
u8 ID_num[12];
for(i=0;i<12;i++)
{
ID_num[i] = *(u8 *)(0x1FFFF7E9+i);
}
id判断
u8 Buffercmp(uc8* pBuffer,u8* pBuffer1,u8 BufferLength)
{
while(BufferLength--)
{
if(*pBuffer != *pBuffer1)
{
return 0;
}
pBuffer++;
pBuffer1++;
}
return 1;
}
u8 IDCheck()
{
u8 i=0;u8 ID_num[12];
u8 ID_num_DFL[12]={0xff,0xda,0x5,0x4b,0x59,0x35,0x38,0x21,0x79,0x19,0x51,0xff};
for(i=0;i<12;i++)
{
ID_num[i] = *(u8 *)(0x1FFFF7E9+i);
}
if(Buffercmp(ID_num,ID_num_DFL,12))
return 1;
else
return 0;
}
结果输出
if(IDCheck())
printf("idright \r\n");
else
printf("idwrong \r\n");
id读取。2
u8* readStm32UniqueID(void)
{
u8 i=0;
u8 stm32_uniqueId[12] = {0};
const u8 stm32id[]={81,255,111,6,102,137,72,72,81,24,6,103};
vu8* addr = (vu8*)(0x1ffff7e8);
for(i = 0; i < 12; ++i)
{
u8 id= *addr;
stm32_uniqueId[i] = id;
++addr;
}
for(i=0;i<12;i++)
{
if(stm32id[i]!=stm32_uniqueId[i])break;
}
if(i==12)printf("right");
else printf("false");
return stm32_uniqueId;
}