STM32F7xx —— 96位唯一ID

                           STM32F7xx —— 96位唯一ID

 

// 配置单片机型号 对外只有这个宏CONFIG_SYSTEM_HARDWARE_TYPE
#define  CONFIG_SYSTEM_HARDWARE_TYPE  SOC_TYPE_STM32F7// SOC类型
typedef enum
{SOC_TYPE_STM32F0,SOC_TYPE_STM32F1,SOC_TYPE_STM32F2,SOC_TYPE_STM32F3,SOC_TYPE_STM32F4,SOC_TYPE_STM32F7,SOC_TYPE_STM32L0,SOC_TYPE_STM32L1,SOC_TYPE_STM32L4,SOC_TYPE_STM32H7,
} soc_type_t;#define SOC_STM32F0_ID_ADDR   0x1FFFF7AC
#define SOC_STM32F1_ID_ADDR   0x1FFFF7E8
#define SOC_STM32F2_ID_ADDR   0x1FFF7A10
#define SOC_STM32F3_ID_ADDR   0x1FFFF7AC
#define SOC_STM32F4_ID_ADDR   0x1FFF7A10
#define SOC_STM32F7_ID_ADDR   0x1FF0F420
#define SOC_STM32L0_ID_ADDR   0x1FF80050
#define SOC_STM32L1_ID_ADDR   0x1FF80050
#define SOC_STM32L4_ID_ADDR   0x1FFF7590
#define SOC_STM32H7_ID_ADDR   0x1FF0F420typedef struct
{uint8_t type;uint32_t addr;
} soc_id_t;static const soc_id_t soc_id_entries[] =
{{SOC_TYPE_STM32F0, SOC_STM32F0_ID_ADDR},{SOC_TYPE_STM32F1, SOC_STM32F1_ID_ADDR},{SOC_TYPE_STM32F2, SOC_STM32F2_ID_ADDR},{SOC_TYPE_STM32F3, SOC_STM32F3_ID_ADDR},{SOC_TYPE_STM32F4, SOC_STM32F4_ID_ADDR},{SOC_TYPE_STM32F7, SOC_STM32F7_ID_ADDR},{SOC_TYPE_STM32L0, SOC_STM32L0_ID_ADDR},{SOC_TYPE_STM32L1, SOC_STM32L1_ID_ADDR},{SOC_TYPE_STM32L4, SOC_STM32L4_ID_ADDR},{SOC_TYPE_STM32H7, SOC_STM32H7_ID_ADDR},
};void SocIDGet(uint32_t *id, soc_type_t type)
{uint8_t i;for(i = 0; i < sizeof(soc_id_entries) / sizeof(soc_id_entries[0]); ++i){if(type == soc_id_entries[i].type){id[0] = *(uint32_t *)(soc_id_entries[i].addr + 0);id[1] = *(uint32_t *)(soc_id_entries[i].addr + 4);id[2] = *(uint32_t *)(soc_id_entries[i].addr + 8);break;}}
}

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我喜欢这样的老大[10-24]

据说原图是奥巴马和一个小朋友打雪仗&#xff0c;下面的图片是众多恶搞作品中的一个。也是我最喜欢的一个&#xff0c;因为总统先生可爱&#xff0c;猫更可爱。。。。我喜欢这样的老大&#xff0c;一把年纪了还保有童真非常难得&#xff1b;作为一位总统&#xff0c;愿意把童真…

知识点:Mysql 数据库索引优化实战(4)

知识点&#xff1a;Mysql 索引原理完全手册(1) 知识点&#xff1a;Mysql 索引原理完全手册(2) 知识点&#xff1a;Mysql 索引优化实战(3) 知识点&#xff1a;Mysql 数据库索引优化实战(4) 一&#xff1a;插入订单 业务逻辑&#xff1a;插入订单数据&#xff0c;为了避免重复导单…

看漫画学电子,非常精彩!有些概念以前模糊现在真的懂了

来源&#xff1a;gadgetronicx.com&#xff0c;排版&#xff1a;晓宇微信公众号&#xff1a;芯片之家&#xff08;ID&#xff1a;chiphome-dy&#xff09;1、按键消抖&#xff0c;在机械按键断开与闭合时&#xff0c;按键的触电是有一点弹性的&#xff0c;按下去的时候不会马上…

STM32F7xx —— 串口通信

STM32F7xx —— 串口通信 目录 STM32F7xx —— 串口通信 一、串口初始化过程 二、几个重要的串口函数 三、几个重要的结构 四、基本接口设计 一、串口初始化过程 1、时钟使能&#xff1b; 2、GPIO初始化&#xff1b; 3、串口波特率设置&#xff1b; 4、串口控制&#…

一个跳楼博士生的遗书:这个世界是一沟绝望的死水

o(︶︿︶)o 唉北邮跳楼博士生给母亲堵塞遗书&#xff1a;这个世界是一沟绝望的死水 这个世界是一沟绝望的死水&#xff0c;我在这里再怎么折腾也激不起半点涟漪。所有的努力都会被既得利益集团踩在脚下&#xff0c;所有的奋斗都面临着举步维艰。冷漠的人&#xff0c;谢谢你…

jquery插件课程1 幻灯片、城市选择、日期时间选择、拖放、方向拖动插件

jquery插件课程1 幻灯片、城市选择、日期时间选择、拖放、方向拖动插件 一、总结 一句话总结&#xff1a;都是jquery插件&#xff0c;都还比较小&#xff0c;参数&#xff08;配置参数、数据&#xff09;一般都是通过json传递。 1、插件配置数据或者参数的时候用的是什么数据结…

由c语言转向c++,我们需要做什么?

点击上方蓝字添加关注在此送大家一份小礼物&#xff0c;公众号内回复linux0001即可获得一本Linux电子教程“c语言和c到底有什么不同和联系呢&#xff1f;”毫无疑问&#xff0c;c语言和c是两种不同的语言&#xff0c;但是又有着千丝万缕的联系。语法上c语言与c一脉相承&#xf…

黄聪:【强烈推荐】搜索引擎排名决定一切吗!

在点石看到一篇《搜索引擎排名决定一切么》&#xff0c;作者cqqc626。写的太赞的&#xff0c;Kyw看后都有点激动&#xff0c;希望天下所有要需要SEO服务的客户们&#xff0c;都能明白其中道理&#xff0c;明白排名不是一切。正文如下&#xff1a; 前段时间经常看到很多和自己差…

STM32F7xx —— CAN通信

STM32F7xx —— CAN通信 目录 STM32F7xx —— CAN通信 一、CAN基础 二、几个重要的CAN函数 三、几个重要的结构 四、接口设计 一、CAN基础 差分信号&#xff1a;显性电平对应逻辑0&#xff0c;CAN_H和CAN_L差为2.5V&#xff1b;隐形电平对应逻辑1&#xff0c;CAN_H和CAN_…

[leetcode] 14. 最长公共前缀

14. 最长公共前缀 超级简单。。。 class Solution { public:string longestCommonPrefix(vector<string> &strs) {if (strs.size() 0) {return "";}string common strs[0];for (int i 1; i < strs.size(); i) {common findCommon(strs[i], common);…

Cmake确实应该用到的时候再学

最近在做项目用到Cmake相关的知识&#xff0c;之前做的是BSP驱动开发&#xff0c;基本用不到Cmake&#xff0c;唯一和Cmake有交集的应该是我们移植网关项目&#xff0c;不过也只是修修改改&#xff0c;直到最近用到Cmake开发项目&#xff0c;才真正是接触了这个东西。前天加载一…

手机吞吃蛇游戏的设计与开发

为什么80%的码农都做不了架构师&#xff1f;>>> J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备&#xff0c;尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上&#xff0c;对设备的智能化、www.21cnlunwen.com Write…

STM32F7xx —— 内部flash

STM32F7xx —— 内部flash 这个就没什么好说的了&#xff0c;直接上代码了&#xff0c;主要封装了三个函数&#xff0c;擦除&#xff0c;写flash&#xff0c;读flash。 // STM32F767IGT6: 1M flash // STM32F767ZIT6: 2M flash #define ADDR_FLASH_SECTOR_0 ((uint32_t)0x…

深入理解 Vue Computed 计算属性

Computed 计算属性是 Vue 中常用的一个功能&#xff0c;我们今天来说一下他的执行过长 拿官网简单的例子来看一下&#xff1a; <div id"example"><p>Original message: "{{ message }}"</p><p>Computed reversed message: "{…

vscode 使用 ssh 登录

// 执行 // 使用你自己的服务器IP与登录账户 export USER_AT_HOST"服务器账户名服务器IP" // PUBKEYPATH是你公钥的路径 export PUBKEYPATH"$HOME/.ssh/id_rsa.pub"ssh-copy-id -i "$PUBKEYPATH" "$USER_AT_HOST"

SNMP4J的一点缺陷

最近在使用SNMP4J的过程中发现一个缺陷&#xff0c;不知道应不应该算是个bug&#xff0c;但我想终究算是一个不完善的地方。 问题描述如下&#xff1a; 在通过SNMP4J去获取某些交换机上的MAC地址转发表(dot1dTpFdbTable, OID为1.3.6.1.2.1.17.4.3&#xff09;时&#xff0c;发现…

3-3 数数字

算法入门经典 P57 把前n&#xff08;n<100000&#xff09;个整数顺序写在一起&#xff0c;123456789...数一数0-9各出现多少次。 #include<stdio.h>#include<string.h>#include "stdafx.h"#include "iostream" #include <string&…

如何用示波器测量串口波特率

这是前段时间遇到的问题&#xff0c;刚好这里找到了答案&#xff0c;记录下分享给大家。如何确定时基假如要测量的波特率为9600, 则每一比特位的时间为&#xff1a;1/9600 ≈ 104 μs&#xff0c;一般示波器横向上每个大格子里5个小格子&#xff0c;要想看清一比特位一般需要一…

STM32F7xx —— ADC

STM32F7xx —— ADC 基础知识参考&#xff1a;ADC /***************************************************************************** * ADC1 ADC2 ADC3 * 通道0 PA0 PA0 PA0 * 通道1 PA1 PA1 PA1 * 通道2 PA2 PA2 …

一键了结CUP100%问题

1、dllhost进程造成CPU使用率占用100%<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />服务器正常CPU消耗应该在75%以下&#xff0c;而且CPU消耗应该是上下起伏的&#xff0c;出现这种问题的服务器&#xff0c;CPU会突然一直处10…