STM32 HAL库读全球唯一(UID)和内部FLASH大小
1. 前期准备
安装好STM32CubeMX
安装好Clion
2. 创建项目
HAL库函数读取MCU内部信息。
3. 编辑代码
/**
* @brief 获取MCU设备信息
*/
void Get_MCU_Info(void)
{
printf("\r\n\r\n------------------获取单片机设备信息------------------\r\n\r\n");
uint32_t FLASH_Size_Addr = 0x1FFFF7E0;//F1系列FLASH大小存储地址
//获取存储器大小
printf(" FLASH Size: %dKB\r\n",*(uint16_t *)FLASH_Size_Addr);
//获取HAL版本
uint32_t HALVer = HAL_GetHalVersion();
printf(" HAL Version: V%d.%d.%d\r\n",HALVer>>24,(HALVer>>16)&0xFF,(HALVer>>8)&0xFF);
//获取保留ID?
printf(" Revision ID: 0x%X\r\n",HAL_GetREVID());
//获取全球唯一UID
printf("Unique ID(UID): 0x%08X %08X %08X\r\n",HAL_GetUIDw0(),HAL_GetUIDw1(),HAL_GetUIDw2());
//获取设备ID
printf("Device ID or Chip ID or Product ID(PID): 0x%x\r\n",HAL_GetDEVID());
}
4. 编译下载
将程序编译下载至开发板,并将开发板连接至PC,打开串口调试助手RYCOM,并设置为:115200+8+N+1,接收结果如下。
5. 小结
本章学习了使用HAL库函数读取MCU内部信息。
回帖