请看如下程序:

/*------------------------------------------------------------------------------------------------------*/
/* 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[],ChipUniqueID[],ChipUniqueID[]); /* printf the flash memory amount */
printf("\r\n芯片flash的容量为: %dK \r\n", *(__IO u16 *)(0X1FFFF7E0));
/*------------------------------------------------------------------------------------------------------*/

Get_ChipID()函数

void Get_ChipID(void)
{
ChipUniqueID[] = *(__IO u32 *)(0X1FFFF7F0); // 高地址
ChipUniqueID[] = *(__IO u32 *)(0X1FFFF7EC); //
ChipUniqueID[] = *(__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页左右)

STM32唯一的ID的更多相关文章

  1. 学习笔记找到多个具有相同 ID“_header”的控件,FindControl 要求控件具有唯一的 ID.

    解决 找到多个具有相同 ID“_header”的控件,FindControl 要求控件具有唯一的 ID. private void DisplayHotBooks()    {        //获取 ...

  2. 生成唯一的id(转)

    很多朋友都利用md5()来生成唯一的编号,但是md5()有几个缺点:1.无序,导致数据库中排序性能下降.2.太长,需要更多的存储空间.其实PHP中自带一个函数来生成唯一的id,这个函数就是uniqid ...

  3. extjs每一个组件要设置唯一的ID

    extjs每一个组件要设置唯一的ID,否则会造成各种错误 EXTJS基本上是靠ID来识别组件的,假如你在panel1中有个ID:"keyword"的textfield,而panel ...

  4. 【高性能】生成唯一时间戳ID,1毫秒预计能生成1000个

    凡事涉及到高性能貌似都是高大上的东西,所以嘛我也试试:其实这个时间戳ID的生成主要为了解决我们公司内部的券号生成,估计有小伙伴认为券号生成有这么麻烦嘛,搞个自增ID完全可以用起来,或者时间取毫微米时间 ...

  5. 用java生成32位全球唯一的id编号

    GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...

  6. js生成唯一的id

    1.生成[0,1)的随机数的Math.random Math.random().toString().replace(".", "");// 生成唯一的id 2 ...

  7. ionic获取ios唯一设备id的解决方案

    经常有朋友来问这个问题. 每次都去解释这个问题也浪费不少时间, 所以还是开一篇文章, 把这个问题说清楚吧. 先纠正一个误区吧: 有同学可以通过ionic natvie的device插件获取. 我们在文 ...

  8. java生成唯一的id编号

    GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...

  9. IOS7.0唯一“设备ID”的获取方法

    ios7.0 以后通过sysctl获得的mac地址已经失效,所有设备均为020000000000. 可以通过苹果的keychain机制,实现设备的唯一ID标示. 具体过程:在app第一次安装时,生成一 ...

随机推荐

  1. 【紫书】【重要】Abbott's Revenge UVA - 816 bfs 复杂模拟 带方向参数的迷宫

    题意:一个迷宫,每个交叉路口有一路标,限制了你从某方向进入该路口所能进入的路口. 题解:1.对于方向的处理:将node多增加一维dir,通过一个const 字符数组 加 上dir_id函数 以及一个方 ...

  2. C++ polymorphism Virtual Function 多态 虚函数

    Polymorphism in C++ https://www.tutorialspoint.com/cplusplus/cpp_polymorphism.htm https://github.com ...

  3. Common Gateway Interface Python CGI编程

    https://en.wikipedia.org/wiki/Gateway_(telecommunications) In telecommunications, the term gateway r ...

  4. IOS--jenkins ,app,reengine

    传统的对iOS逆向的工具要使用到下面很多: clutchotoolkeychain-dumpersqlitedumpdecryptedclass-dump-zTheos http://iosapp.m ...

  5. 64位windows 7下配置TortoiseGit(转)

    原文:http://our2848884.blog.163.com/blog/static/146854834201152325233854/ 最近感觉自己电脑上的代码太乱了,东一块.西一块……于是决 ...

  6. hibernate注解(一)JoinColumn

    @Entity @Table(name="t_group") public class Group { private int id; private String name; p ...

  7. ifconfig 查看网卡信息

    [root@linux-node- sss]# ifconfig eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu inet ...

  8. SRM 619

    easy:  假设每堆石头不全为1,那么每次我们总能取一堆石头分给另外两堆,堆数-1.而且新的局面肯定有一堆的个数大于1. 于是,假设每堆石头数都为1 -> lose.否则的话推断堆数奇偶就可以 ...

  9. ListView多种item注意以及自己出现的莫名其妙的错误

    如果ListView不懂,请绕路 1.ListView添加多个item必须用到的两个方法 getViewTypeCount一共有多少种item,我这里写的两种 getItemViewType当前pos ...

  10. XMind思维导图自定义图标/图片