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 内部信息。
回帖