• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何使用stm32读取器件唯一的ID号

Reuben 2018-10-23 浏览量:2163
这个唯一的ID号怎么读取
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 想要读取唯一ID,就需要知道它的存储地址,在不同系列的MCU中地址是有差别的,我们查询了部分MCU的资料并将其总结如下

    微信截图_20181023142001.jpg

    • 发布于 2018-10-23
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:7
  • 根据手册查询ID地址替换下面的地址:
    void GetChipUniqueID(void)
    {
        
        u32 chipUniqueID32[3];
    
        chipUniqueID32[0] = *(__IO u32*)(0X1FFFF7F2);//ID地址的高32位寄存器地址
        chipUniqueID32[1] = *(__IO u32*)(0X1FFFF7EE);//ID地址的中32位寄存器地址
        chipUniqueID32[2] = *(__IO u32*)(0X1FFFF7E8);//ID地址的低32位寄存器地址
        
        printf("此芯片的唯一ID为:%d-%d-%d\r\n"chipUniqueID32[0]chipUniqueID32[2]chipUniqueID32[2]);
    
    }
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 1
    • 0

  • 查看型号,再通过程序查看出来
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 参考我的博客,验证过的代码:https://blog.csdn.net/skawu/article/details/78507466
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 查询flash中的0x1ffff7ac位置开始的32个字节的内容就是唯一ID号,每个系列的地址不尽相同,另外,在MDK的Debug窗口的仿真器设置里面也可以找到MCU的ID号。

    • 发布于2018-10-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 每款STM32的唯一ID都是保存在一个片上的指定地址处的,那里是一个EEPROM,不可修改,可以用绝对寻址的方式去访问
    • 发布于2018-11-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 不同型号的芯片,其只是一个地址上的数据的,是可以直接访问这个地址读取的
    • 发布于2018-11-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 不同的芯片地址是不同的,要参考你的ID地址寄存器读取
    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何使用stm32读取器件唯一的ID号