当前位置: 首页 > news >正文

STM32唯一的ID

请看如下程序:

/*------------------------------------------------------------------------------------------------------*/
    /* to get the chipid and put it in ChipUniqueID[3] */
    Get_ChipID();
  
    /* printf the chipid */
    printf("\r\n芯片的唯一ID为: %X-%X-%X\r\n",
            ChipUniqueID[0],ChipUniqueID[1],ChipUniqueID[2]);
    
    /* printf the flash memory amount */
    printf("\r\n芯片flash的容量为: %dK \r\n", *(__IO u16 *)(0X1FFFF7E0));
/*------------------------------------------------------------------------------------------------------*/    
    

Get_ChipID()函数

void Get_ChipID(void)
{
    ChipUniqueID[0] = *(__IO u32 *)(0X1FFFF7F0); // 高地址
    ChipUniqueID[1] = *(__IO u32 *)(0X1FFFF7EC); // 
    ChipUniqueID[2] = *(__IO u32 *)(0X1FFFF7E8); // 低地址
}

(一)产品唯一身份标识寄存器(96位)

96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯
一的。用户在何种情况下,都不能修改这个身份标识。
这个96位的产品唯一身份标识,按照用户不同的用法,可以以字节(8位)为单位读取,也可以以
半字(16位)或者全字(32位)读取。

基地址:0x1FFF F7E8
地址偏移:0x00

只读,其值在出厂时编写

U_ID[15:0]:唯一身份标志15:0位

 

器件电子签名
地址偏移:0x02
只读,其值在出厂时编写

U_ID[31:16]:唯一身份标志31:16位
这个域的数值也预留作为未来的其它功能。

 

地址偏移:0x04
只读,其值在出厂时编写

U_ID[63:32]:唯一身份标志63:32位

地址偏移:0x08
只读,其值在出厂时编写

U_ID[95:64]:唯一身份标志95:64位

 

(二)闪存容量寄存器

基地址:0x1FFF F7E0
只读,它的内容在出厂时编写

F_SIZE:闪存存储器容量  位15:0
以K字节为单位指示产品中闪存存储器容量。
例:0x0080 = 128 K字节

 

 

(3.5版本的库,32参考手册第28章732页,旧版本的应该在642页左右) 

转载于:https://www.cnblogs.com/Ph-one/p/4091525.html

相关文章:

  • STM32串口中断
  • Zigbee学习
  • 模电之运放篇
  • STM32.SPI(25Q16)
  • STM32.定时器
  • CAN通信(STM32)
  • 触摸屏
  • 超频真的不难!G3258超频4.5GHz全攻略
  • 《将博客搬至51CTO》
  • 小K(wifi)插座剖解
  • WIFI模块对比介绍
  • linux学习笔记《一.烧写篇_android》
  • 串口WIF简单I调试
  • CRC32是什么?
  • 指数增长的领域
  • 【面试系列】之二:关于js原型
  • angular学习第一篇-----环境搭建
  • Elasticsearch 参考指南(升级前重新索引)
  • github指令
  • gops —— Go 程序诊断分析工具
  • interface和setter,getter
  • Java超时控制的实现
  • Java的Interrupt与线程中断
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • React Native移动开发实战-3-实现页面间的数据传递
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Theano - 导数
  • Vue小说阅读器(仿追书神器)
  • 初识MongoDB分片
  • 力扣(LeetCode)357
  • 学习笔记:对象,原型和继承(1)
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • Hibernate主键生成策略及选择
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (floyd+补集) poj 3275
  • (分类)KNN算法- 参数调优
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (离散数学)逻辑连接词
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 中创建支持集合初始化器的类型
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .net6+aspose.words导出word并转pdf
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net反编译工具
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .net连接oracle数据库
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .net实现头像缩放截取功能 -----转载自accp教程网