STM32 利用本身ID号进行加密

一、各系列芯片ID地址

补充:G系列为:  0x1FFF7590

二、读取ID

1、利用软件 

STM32 CubeProgrammer 去官方网站下载

首先点击右边的“connect”

接着在软件Address处输入ID号的首地址,回车后,软件会自动显示ID号。每种系列的芯片ID首地址都不同,图一有整理。

2、利用程序代码,串口输出

举例STM32F0 ID 设置

新建ChipID.C

uint32_t CpuID[3];
void Get_ChipID(void)
{
    CpuID[0]=*(__IO uint32_t*)(0x1FFFF7AC);
    CpuID[1]=*(__IO uint32_t*)(0x1FFFF7B0);
    CpuID[2]=*(__IO uint32_t*)(0x1FFFF7B4);
}

ChipID.h

#ifndef __ChipID_H__
#define	__ChipID_H__

/* 包含头文件 ----------------------------------------------------------------*/
#include "stm32f0xx_hal.h"

/* 类型定义 ------------------------------------------------------------------*/
/* 宏定义 --------------------------------------------------------------------*/
/* 扩展变量 ------------------------------------------------------------------*/
extern uint32_t CpuID[3];

/* 函数声明 ------------------------------------------------------------------*/
void Get_ChipID(void);

#endif /* __ChipID_H__ */

在main.c内

 Get_ChipID();	
	
  /* 芯片的唯一ID */
	printf("\r\n芯片的唯一ID为: %08X-%08X-%08X\r\n",CpuID[0],CpuID[1],CpuID[2]);
	
	/* 芯片的容量 */
	printf("\r\n芯片flash的容量为: %dK \r\n", *(__IO uint16_t *)(0X1FFFF7CC));

串口打印结果:

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河湾边的一亩三分地

来点实在的鼓励吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值