天天看点

单片机唯一编码的读取

作者:APPLE频道

视频加载中...

一、前言

  在测量设备中使用了STM32单片机,为了能够对设备标定数据进行编号,下面准备使用 单片机的唯一芯片编号,也就是 Unique Device ID作为电路板的编码,这样便可以将每一个测量电路板的校正值唯一确定下来。下面实现读取单片机编码的过程。

单片机唯一编码的读取

二、程序实现

  根据单片机使用手册上的介绍,现在所使用的单片机的编码可以用于设备的序列号,比如在 USB 通讯中的序列字符串,或者用于单片机FLASH程序加密的秘钥,也可以用于激活加密启动过程等。F373单片机对应的芯片序列号位于只读内存的地址为 0x1fff f7ac。每个系列的单片机该地址是不同的。下面使用程序读取该序列号。

单片机唯一编码的读取

  使用指针,读取内部空间中芯片编码。这里将 前面的编码地址转换成一个 uint32类型的指针,连续读取三个 32 位数据,这就是芯片的唯一编码数据。

单片机唯一编码的读取

三、测试结果

  这里通过串口接收 程序读取的 芯片 ID号码,输入 id 命令,可以看到程序返回读取的芯片ID号码,这是三个 32位 无符号整形数字,对应的芯片的编码。对于其他系列的单片机,只要修改起始地址,便可以读取对应的芯片唯一编码了。使用这个编码,可以位电路确定唯一的编号。

单片机唯一编码的读取

※总  结 ※

  本文测试了读取 STM32单片机唯一编码的过程。根据数据手册给定的编码起始地址,便可以得到芯片唯一ID号码。基于该编码,可以对设备的软硬件开发提供帮助。

单片机唯一编码的读取