96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯一的。用户在何种情况下,都不能修改这个身份标识。

在HAL库中有现成API接口可以调用。

以下为STM32F411示例代码:

/*** @brief  Returns first word of the unique device identifier (UID based on 96 bits)* @retval Device identifier*/
uint32_t HAL_GetUIDw0(void)
{return (READ_REG(*((uint32_t *)UID_BASE)));
}/*** @brief  Returns second word of the unique device identifier (UID based on 96 bits)* @retval Device identifier*/
uint32_t HAL_GetUIDw1(void)
{return (READ_REG(*((uint32_t *)(UID_BASE + 4U))));
}/*** @brief  Returns third word of the unique device identifier (UID based on 96 bits)* @retval Device identifier*/
uint32_t HAL_GetUIDw2(void)
{return (READ_REG(*((uint32_t *)(UID_BASE + 8U))));
}

三个API接口分别获取三个4字节ID,HAL_GetUIDw0(void)/HAL_GetUIDw1(void)/HAL_GetUIDw2(void);

开始地址在头文件中有宏定义:

#define UID_BASE                     0x1FFF7A10UL           /*!< Unique device ID register base address */

直接调用HAL库简单方便:

CPU_ID[0] = HAL_GetUIDw0();
CPU_ID[1] = HAL_GetUIDw1();
CPU_ID[2] = HAL_GetUIDw2(); 

STM32获取唯一身份标识unique ID相关推荐

  1. stm32获取芯片的96位ID

    stm32获取芯片ID stm32芯片ID的地址 stm32的芯片地址为:0x1FFFF7E8~0x1FFFF7F3 因为我们芯片的ID都是96位 所以我们就可以建立一个数组才存储这个ID 一般数据的 ...

  2. android设备id完美解决方法,如何在Android中获取唯一的设备硬件ID?

    您可以在下面的链接中查看此博客 [http://android-developers.blogspot.in/2011/03/identifying-app-installations.html] A ...

  3. php 浏览器唯一标识符,在PHP中获取唯一的Web浏览器ID

    我正在寻找一种在PHP中存储Web浏览器唯一ID的方法?我到处搜索..但是找不到任何有用的东西.首先,Web浏览器是否具有唯一的ID或类似的标识它们?就像计算机具有唯一的IP地址一样,浏览器是否具有类 ...

  4. GridView里面模板获取唯一值(如ID)

    我的习惯一般都是用BUTTONFIELD或者COMMANDFIELD,用rowcommand事件,或者selectindexchange事件 如 protected void GridView1_Ro ...

  5. 条形码的用途:1.商品条码作为商品的唯一身份标识,相当于产品在市面流通的“身份证”和“通行证”;2.产品想进入超级市场、POS商店的入场券3.商品条码也成为企业入驻网络商城的必要条件

  6. c#获取对象的唯一标识_DDD领域驱动设计实战 - 创建实体身份标识的常用策略

    从简单到复杂依次为: 3.1.1 用户提供唯一标识 这时用户将输入一些可识别的数值或符号,或从已有标识中选其一,然后创建实体对象.这是一种非常简单方案,但也可能变得复杂. 由于需用户自己生成高质量的标 ...

  7. 生成唯一序列号 Unique ID

    唯一的序列号Unique ID,在程序的各个方面都有所应用,特别是数据存储方面.很多数据库都需要一个自增的唯一的序列号作为Primary Key. 最简单的Unique ID就是在内存中维护一个lon ...

  8. 是否有唯一的Android设备ID?

    Android设备是否具有唯一的ID,如果是,则使用Java访问它的简单方法是什么? #1楼 有许多不同的方法可以解决这些ANDROID_ID问题(有时可能为null或特定模型的设备总是返回相同的ID ...

  9. ddd 访问权限_DDD领域驱动设计实战 - 创建实体身份标识的常用策略

    从简单到复杂依次为: 3.1.1 用户提供唯一标识 这时用户将输入一些可识别的数值或符号,或从已有标识中选其一,然后创建实体对象.这是一种非常简单方案,但也可能变得复杂. 由于需用户自己生成高质量的标 ...

最新文章

  1. 【Android动画】之Tween动画 (渐变、缩放、位移、旋转)
  2. QScintilla
  3. 浅谈我对JCS 的理解
  4. linux sftp命令连接数,linux记录sftp命令
  5. es的query及filter
  6. [转]在Visual C++中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
  7. 把运行在 Docker 容器内的 Microsoft SQL 服务器部署到 SAP Kyma 中
  8. beyond compare类似软件_你用过最好用的截图软件是哪一款
  9. springMVC发送邮件
  10. php iso 8859 1 解码,关于php:Apache的默认编码是ISO-8859-1,但网站是UTF-8?
  11. java 日期和时间
  12. Flask 上下文管理-- (session,request,current_app的传递)--类似本地线程实现,以及多app应用...
  13. hadoop集群重启
  14. ubuntu 20.04上配置 QT_ROS的插件
  15. linux安装vnc
  16. 超威主板关闭超线程教程
  17. mysql门店分析_餐饮数据分析(MySQL+Pivot)
  18. 2884: 水果分级
  19. ELF文件——DWARF源码解析
  20. program received signal sigsegv,Segmentation fault的解释(可能并不全面)

热门文章

  1. seo优化各个搜索引擎收录Title,keywords,description长度最长多长
  2. 记一次从无法进入系统的mac中拷贝数据至U盘过程
  3. Flink系列:事件时间乱序到达处理完整Demo例子
  4. HTML控制台输出console,Javascript的console.log()用法
  5. 记一个MyBatis使用 特殊符号处理 的坑
  6. 【20171116】BugFree使用手册(四)Bugfree的使用:Bug、Case和Result管理
  7. 我所知道的计算机竞赛30——USACO
  8. 密码键盘弹出来却是明文的?
  9. 神州侠侣 1994年看过的一部电视剧 满喜欢的
  10. Devops实现之Pipeline工作流框架 (十)