RYMCU

STM32篇——读取 UID 和 FLASH 容量

STM32 HAL 库读全球唯一(UID)和内部 FLASH 大小

1. 前期准备

安装好 STM32CubeMX

安装好 Clion

2. 创建项目

HAL 库函数读取 MCU 内部信息。

3. 编辑代码

/**
  * @brief 获取MCU设备信息
  */
void Get_MCU_Info(void)
{
    printf("rnrn------------------获取单片机设备信息------------------rnrn");
    uint32_t  FLASH_Size_Addr = 0x1FFFF7E0;//F1系列FLASH大小存储地址
    //获取存储器大小
    printf("     FLASH  Size: %dKBrn",*(uint16_t *)FLASH_Size_Addr);
    //获取HAL版本
    uint32_t HALVer = HAL_GetHalVersion();
    printf("    HAL  Version: V%d.%d.%drn",HALVer>>24,(HALVer>>16)&0xFF,(HALVer>>8)&0xFF);
   //获取保留ID?
    printf("    Revision    ID: 0x%Xrn",HAL_GetREVID());
    //获取全球唯一UID
    printf("Unique ID(UID): 0x%08X %08X %08Xrn",HAL_GetUIDw0(),HAL_GetUIDw1(),HAL_GetUIDw2());

    //获取设备ID
    printf("Device ID or Chip ID or Product ID(PID): 0x%xrn",HAL_GetDEVID());

}

4. 编译下载

将程序编译下载至开发板,并将开发板连接至 PC,打开串口调试助手 RYCOM,并设置为:115200+8+N+1,接收结果如下。

5. 小结

本章学习了使用 HAL 库函数读取 MCU 内部信息。

后发布评论