博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32唯一的ID
阅读量:5122 次
发布时间:2019-06-13

本文共 1311 字,大约阅读时间需要 4 分钟。

请看如下程序:

/*------------------------------------------------------------------------------------------------------*/    /* 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

你可能感兴趣的文章
Spring中的WebAppRootListener
查看>>
elasticsearch安全重启节点
查看>>
线程和多线程学习
查看>>
梦断代码阅读笔记01
查看>>
Deprecated: Assigning the return value of new by reference is deprecated in报错
查看>>
第四次作业-坦克大战
查看>>
O365(世纪互联)SharePoint 之使用列表库发布新闻
查看>>
bootstrap-select详细语句分析,如有错误请指出,感谢。
查看>>
遍历三维数组
查看>>
Python语言的有限状态机实现样例
查看>>
桐桐的贸易--WA
查看>>
LightTools.v5.1_完整好用版本\
查看>>
javascript中的变量提升
查看>>
获取AWR报告
查看>>
小程序组件
查看>>
grunt学习2
查看>>
IDEA中web项目maven项目手动打war包的方式
查看>>
Spring Boot 初体验(6)Spring Boot JdbcTemplate
查看>>
Wpf Page间跳转传参数 And Window To Page
查看>>
Hammer.js
查看>>