野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14001|回复: 2

关于stm32获取USB获取设备序列号求解

[复制链接]
发表于 2015-6-11 13:16:06 | 显示全部楼层 |阅读模式
/*******************************************************************************
* Function Name  : Get_SerialNum.
* Description    : Create the serial number string descriptor.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
void Get_SerialNum(void)
{
  uint32_t Device_Serial0, Device_Serial1, Device_Serial2;

  Device_Serial0 = *(__IO uint32_t*)(0x1FFFF7E8);//这里的(0x1FFFF7E8)是什么意思?从哪里来的?恳请大神指教~~~
  Device_Serial1 = *(__IO uint32_t*)(0x1FFFF7EC);
  Device_Serial2 = *(__IO uint32_t*)(0x1FFFF7F0);

  Device_Serial0 += Device_Serial2;

  if (Device_Serial0 != 0)
  {
    IntToUnicode (Device_Serial0, &MASS_StringSerial[2] , 8);
    IntToUnicode (Device_Serial1, &MASS_StringSerial[18], 4);
  }
}

回复

使用道具 举报

发表于 2015-6-12 08:59:51 | 显示全部楼层
这是获取stm32芯片的序列号,用它来做usb的序列号,就不易出现重复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-12 11:43:43 | 显示全部楼层
大神:按照你的意思:这里的(0x1FFFF7E8) (0x1FFFF7EC) (0x1FFFF7F0)共12个字节专门是用来存储stm32产品的序列号,是这个意思吧?
问题1:Device_Serial0 += Device_Serial2;//那这一句是干嘛的啊?再次想请教大神~~~问题2:这里的设备地址是2个字节,干嘛还需要Device_Serial0 Device_Serial1 Device_Serial2 3个啊?一个不就好了~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 22:07 , Processed in 0.029131 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表