|
楼主 |
发表于 2015-10-8 10:07:51
|
显示全部楼层
本帖最后由 myqiang1990 于 2015-10-8 10:08 编辑
解决啦~~~谢谢大师们的指导~哈哈哈哈~~就是用STM32,96位ID号通过CRC32运算出一个32位的数据,然后这个4个字节分配给设备ID号,厂商ID号固定就可以了~我的ID号是这样组合得~~算法贴出来~
#define ID_ADDR0 0x1FFFF7E8
#define ID_ADDR1 0x1FFFF7E8
#define ID_ADDR2 0x1FFFF7E8
/*******************************************************************************
*函数原型:void GET_UID(void)
*参数入口:
*参数出口:
*函数说明:
********************************************************************************/
static void RDM_GET_UID(void)
{
u32 id[3], RDM_UID = 0;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
id[0] = *(u32 *)(ID_ADDR0 + 0);
id[1] = *(u32 *)(ID_ADDR0 + 4);
id[2] = *(u32 *)(ID_ADDR0 + 8);
CRC_ResetDR();
RDM_UID = CRC_CalcBlockCRC(id, 3);
DEVICE_UID0 = 0x00;
DEVICE_UID1 = 0x01;
DEVICE_UID2 = (RDM_UID >> 24) & 0xff;
DEVICE_UID3 = (RDM_UID >> 16) & 0xff;
DEVICE_UID4 = (RDM_UID >> 8) & 0xff;
DEVICE_UID5 = (RDM_UID >> 0) & 0xff;
} |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|