STM32芯片序列号及获取源代码

STM32芯片序列号及获取源代码

  1. STM32每个系列都会有唯一的一个芯片序列号(96位bit):

           STM32F10X 的地址是 0x1FFFF7E8
           STM32F20X 的地址是 0x1FFF7A10
           STM32F30X 的地址是 0x1FFFF7AC
           STM32F40X 的地址是 0x1FFF7A10
           STM32L1XX 的地址是 0x1FF80050
    
  2. 源代码(以 STM32F40X为例)

/********************************************************************************************************
*
*设备电子签名,唯一设备 ID 寄存器
*out: 输出缓冲区
*输出缓冲区的大小至少为25字节,字符串末尾\0
***********************************************************************************************************/
char bf_GetUid(char *out, uint16_t outsize)
{
	const uint8_t *uid = ( uint8_t* )( 0x1FFF7A10 );
	char len;
	
	if(out == 0 || outsize < 25)
	return 0;
	len = snprintf(out, outsize, 
				"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", 
			    uid[0], uid[1], uid[2], uid[3], 
				uid[4], uid[5], uid[6], uid[7], 
				uid[8], uid[9], uid[10],uid[11]);
	
	return len - 1;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

起名字好难.珩

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值