STM32----HAL库函数

1.STM32系统框架

1.1 Cortex-M内核&芯片

 1.2 F1系统框架

4个主动单元+4个被动单元

AHB:高级高性能总线                                                           APH:高级外围总线

其中 1 为 主动单元 , 2为被动单元

总线时钟频率:AHBB:72Mhz               APB1:36Mhz                         APB2:72Mhz

2. STM32的寻址范围

(1)可以有32位地址线 (每根地址线有两种状态:导通或不导通)

(2)单片机内存地址访问的存储单元是按字节编址的(不是bit)----一个字节是8个bit

3. 存储器映射

存储器可以存储数据设备,本身没有地址信息,对存储器分配地址的过程叫做映射,有19根地址线(2的19次方 512k),每个按照两个字节来编写,有16根数据线

将4G的内存分为8块

4,寄存器映射

可以实现对2各个功能的实现 

寄存器是特殊的储存器,给他命名的过程,就是寄存器映射

直接对操作寄存器地址举例:

*(unsined int)(0x4001 080C) = 0xffff

(1)地址怎么找?                   (2)映射方法?

寄存器地址计算:

为了方便计算,我们会把寄存器地址分为3部分

1.总线基地址(AHB APB    -------- BUS_BASE_ADDR)

2.外设基于总线地址的偏移量

3.寄存器相对外设地址的偏移量

所以寄存器地址 = 1+2+3

在数据手册寄存器映射的最后一行,也就是我们的总线基地址

APB1也叫做外设基地址----因为其为block2的基地址开始,所以被称为外设基地址,而上面的偏移量,也是基于APB1来进行偏移的

这个表则是基于APB2来偏移的

举例 GPIOA_ODR寄存器地址计算:

1. 获取外设所挂在的总线 

2.获取总线基地址  0x40010000

3. GPIOA相对APB2的总线偏移量:0X800

4.获取寄存器地址偏移: 0x0C(寄存器描述里)

最后得到 0x4001080C

因此,使用结构体可以简单的完成对寄存器的配置一次性到位

                                         

每个寄存器都多偏移4个字节,所以就可以一次性映射

  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

轻量化压缩之【剪枝】

在深度学习领域,剪枝是一种常用的模型轻量化技术,主要是通过移除神经网络中被认为不重要的连接(即权重)来减少模型的大小和计算量。移除的连接可以是单独的权重(非结构化剪枝),也可以是整个神经…

深度学习模型轻量化方法介绍

深度学习模型轻量化是指通过一系列技术手段减少模型的大小和计算需求,使其能够在资源有限的环境中(如移动设备、嵌入式系统)运行。下面是一些常见的模型轻量化方法: 模型剪枝(Pruning): 描述: 模型剪枝涉及…

【智能家居远程控制系统】ESP8266连接阿里云(一)

系列文章目录 第一章 阿里云物联网平台搭建 第二章 订阅与发布MQTT消息 第三章 为ESP8266-NodeMCU搭建ArduinoIDE环境 第四章 ESP8266连接阿里云 第五章 阿里云平台云产品流转 第六章 使用Aruino与云产品流转实现远程控制ESP8266 文章目录 目录 系列文章目录 前言 一…

Python 面向对象(1)

软件编程的实质是将我们的思维转变成计算机能够识别语言的一个过程。 目录 面向过程 面向对象 理解面向对象 面向过程: 面向对象: 面向对象的特点 完成需求时: 类的设计 类与对象的关系 创建类 设计类 类的介绍 格式 创建类实例…

【离散数学】——期末刷题题库(树其一)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

【Midjourney中文目录】Midjourney产品使用说明

Midjourney使用说明 Midjourney是一款开发出来的智能绘画工具,它利用先进的AI技术为用户提供快速、高效、多样化的绘画体验。 Midjourney软件以其独特的特色和功能赢得了广大用户的喜爱。首先,它能够快速生成AI制图,只需输入关键字&#xf…

无懈可击的防泄密之旅:迅软DSE在民营银行的成功实践

客户简要介绍 某股份有限公司主体是中部地区的民营银行,由其母公司联合9家知名民营企业共同发起设立。正式开业于2016年,紧紧围绕目标产业生态圈和消费金融,着力打造产业银行、便捷银行、数字银行、财富管理银行为一体的BEST银行&#xff0c…

C#深拷贝效率对比

对于浅拷贝和深拷贝,前面的文章已经说明了。 C#浅拷贝和深拷贝数据-CSDN博客 本篇说一下,深拷贝的效率问题,效率一直是程序追求的,效率越高肯定越好,有时候功能是实现了,但是运行以及处理数据的效率非常低…

【算法系列篇】递归、搜索和回溯(四)

文章目录 前言什么是决策树1. 全排列1.1 题目要求1.2 做题思路1.3 代码实现 2. 子集2.1 题目要求2.2 做题思路2.3 代码实现 3. 找出所有子集的异或总和再求和3.1 题目要求3.2 做题思路3.3 代码实现 4. 全排列II4.1 题目要求4.2 做题思路4.3 代码实现 前言 前面我们通过几个题目…

idea恢复默认出厂设置

idea恢复默认出厂设置 1、IDEA 2021 之后, 在顶部工具栏,选择 File | Manage IDE Settings | Restore Default Settings. 2、或者双击shift搜索Restore Default settings然后点击restore and restart

企业微信无法给Gmail发邮件问题

问题说明 在使用企业微信给国外客户的Gmail邮箱发信件的时候,邮件一直被退信,退信内容如下: 发件人(*******.cn)域名的DNS记录未设置或设置错误导致对方拒收此邮件。 host gmail-smtp-in.l.google.com[142.251.175.2…

左右按钮实现滚动轮播Demo(js手搓版本)

提示:适用于当放置按钮空间区域有限,通过左右箭头实现有限空间放置更多的按钮的情形,自适应布局的简单Demo支持二次开发和改造 文章目录 效果图Demo源码解释说明总结 效果图 在该区域存在五个按钮,点击左边按钮向左边滚动&#xf…

查看git的帮助信息

说明 在cmd窗口、或者git Bash shell下执行git --help或者git -h命令&#xff0c;可以查看git的帮助信息。 执行git <command> --help命令可以查看某个命令的帮助信息&#xff0c;其中<command>表示某个具体的命令。 示例1&#xff1a;在git Bash shell下运行git…

新能源线束电接头气密测试快速工装

线束气密测试是新能源车生产过程中必须要测试流程&#xff0c;包括常规的电缆测试、电接头测试、接线端子测试等。需要用到相应的快速接头来密封连接线束一端&#xff0c;进行充气或封堵&#xff0c;并连接上检漏仪等相关设备&#xff0c;检查产品密封防水合格性。 线束快速密封…

Vue3 Element Plus自定义年份区间选择组件

环境&#xff1a; "dependencies": {"rollup/plugin-alias": "^3.1.9","types/node": "^17.0.43","element-plus": "^2.2.15","three": "^0.148.0","vue": "^3.2.…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Button按钮组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Button按钮组件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、Button按钮组件 Button 组件也是基础组件之一&#xff0c;和其它基础组件不…

【深度学习】Prompt

1.Prompt的通俗解释 Prompt就是“提示”的意思&#xff0c;通俗解释可以参考你画我猜游戏。如下图所示&#xff1a;提示词就作为Prompt&#xff0c;指导对方说出正确答案。而自然语言处理任务中的Prompt也有同样的效果&#xff0c;指导模型输出正确的答案。 2.Prompt的不通俗解…

【密码学】群的证明(习题)

0.前置知识 1.习题 记录一次密码学作业~群的判定 2.求解

Linux发行版比较:Ubuntu、CentOS、Red Hat与其他系统的优劣分析

导言 Linux作为开源操作系统&#xff0c;有众多不同的发行版&#xff0c;每个发行版都有其独特的特性和适用场景。本文将聚焦于比较Ubuntu、CentOS、Red Hat和其他系统&#xff0c;深入分析它们的优势、用途以及在不同领域的应用。Linux操作系统的生态系统中&#xff0c;Ubuntu…

传输层—TCP核心机制(确认应答、超时重传、三次握手四次挥手、滑动串口等……)

传输层—TCP核心机制 ​ 文章目录 传输层—TCP核心机制TCP1.1 确认应答机制 (可靠传输机制)1.2 超时重传机制 (可靠传输机制)1.3 连接管理机制 (可靠传输机制)1.3.1 三次握手&#xff08;建立连接&#xff09;1.3.2 四次握手&#xff08;断开连接&#xff09; 1.4 滑动窗口 (提…