STM32 时钟 寄存器 异常和中断

news2024/7/4 5:35:31

时钟:

51单片机中有时钟和时钟树的概念,外设只有GPIO、定时器、和一个串口,使用的都是11.0592MHZ的频率,除了定时器外,其他外设只要上电就可以使用。
stm32不同外设对应的时钟频率不同,故有时钟树的概念
在这里插入图片描述

在这里插入图片描述
PLL:加速器,翻倍输出输入的时钟频率,(2~16倍)用户根据实际的情况调节各个外设的输入频率(预分频器:减速器,将高频型号减速为不同的低频信号供各个外设使用)
内部时钟振荡频率受到温度的影响,不准确,高速通信需要使用外部时钟
STM32英文参考手册:第三章 总线
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
即断电后数据也不会丢失,在这里插入图片描述
FLASH不利于进行写操作,只是用来存放指令的,只有在烧写程序时对FLASH进行写操作
在这里插入图片描述
在这里插入图片描述
掉电后,数据消失,存储变量,常量存储在FLASH中
在这里插入图片描述
供内核处理数据,读取常量或者变量

在这里插入图片描述
总线矩阵:
作用:仲裁
内核和外设进行数据交换,总线仲裁后保证数据有序通过
DMA作用:为各个外设之间进行数据交换时提供通道,而不需要内核的干涉
在这里插入图片描述
AHB:高级高性能总线,APB:高级外设总线
高速外设总线:APB2 低速外设总线:APB1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
FCLK:
在这里插入图片描述
FLITF: 闪存接口

MCU通过HSI与片内闪存进行内部通信,不使用外部晶振
在这里插入图片描述
时钟安全系统,检测时钟异常,及时更换供给时钟,便于单片机正常运行

看门狗使用LSI,LSI与其他时钟处于隔离状态,其他地方出现问题不会影响看门狗的正常运行,实现监视整个系统的功能
MCU:时钟输出,输出给外部的时钟源使用,四个时钟源

寄存器:

以字节为单位进行划分,1Byte = 8Bit
32位操作系统可操作2^32个地址(不明白)
K M G
单位换算,÷3次1024 = 4G寻址空间,即运行内存

在这里插入图片描述
在这里插入图片描述
ARM公司将这个内存分为8块,每块的内存是512-Mbyte
block0:寻址片内闪存,硬盘内存
block1:SRAM
block1:外设
block3、4、5: FSMC(在这里插入图片描述

portA-portG 7个端口
每个端口有16个引脚,总引脚数为16*7=112
GPIO:必须以字(32位)的方式操作这些外设寄存器
在这里插入图片描述
意思是如果读取0x20002200地址的内容,返回的是一个字的长度,也就是32位的数据。
设置一个GPIO口要占用4Bit空间
在这里插入图片描述
配置GPIO口输入输出模式:GPIOx_CRL/H
端口输入寄存器:IDR 只读
端口输出寄存器:IDR 可读可写
原子操作:只需要一个步骤就可以实现的操作,不会被中断打断,需要操作BSRR寄存器
set置1,reset置0
操作BSRR低16位相当于操作ODR低16位,但操作BSRR实现的是原子操作
BSRR寄存器高16位操作和BSR相同
端口配置锁定寄存器(GPIOx_LCKR):

异常和中断:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
NVIC处理中断异常
在这里插入图片描述
位处理器软件接口标准:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这个图在M3、4指南的第七章 7.5向量表
STN32参考手册10章 (NVIC)所有向量的地址
10.2 外部中断控制
对同一个端口来说同一时间只有一个引脚可以使用中断

在这里插入图片描述
9.4.3 (AFIO_EXTICR1)中断寄存器配置
每个中断寄存器管理中断线不同
在这里插入图片描述
上面从左到右:挂起请求寄存器,中断屏蔽寄存器,软件中断事件寄存器,上升沿选择寄存器,下降沿选择寄存器
边缘检测电路

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

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

相关文章

提升半导体制造效率,了解半导体CMS系统的关键作用

随着半导体制造业的不断发展,提高生产效率成为企业追求的核心目标。在这一背景下,CMS系统(中央设备状态监控系统)的关键作用愈发凸显。本文将深入探讨CMS系统在提升半导体制造效率方面的关键作用,帮助读者全面了解该系…

Android Studio Could not reserve enough space for 2097152KB object heap

Android Studio Could not reserve enough space for 2097152KB object heap android studio 编译的项目的时候,出现的内存不足问题,实际上android studio会有引导设置内存大小,可能都不太在意在哪个地方,设置完就完事了&#xff…

linux上搭建samba服务

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打…

【NOSQL数据库】Rdeis持久化

目录 一、Redis高可用1.2Redis高可用技术 二、Redis持久化2.1Redis提供的两种持久话方式 三、RDB持久化3.1触发条件3.1.1手动触发3.1.2自动触发3.1.3其他自动触发机制 3.2执行流程3.3启动时加载 四、AOF持久化4.1 开启AOF4.2执行流程4.2.1命令追加(append)4.2.2文件写入(write)…

【LeetCode热题100】打卡第30天:从前序遍历与中序遍历序列构造二叉树二叉树展开为链表

文章目录 【LeetCode热题100】打卡第30天:从前序遍历与中序遍历序列构造二叉树&二叉树展开为链表⛅前言 从前序与中序遍历构造二叉树🔒题目🔑题解 从中序与后序遍历构造二叉树🔒题目🔑题解 二叉树展开为链表&#…

使用 Maya Mari 设计 3D 波斯风格道具(p1)

今天瑞云渲染小编给大家带来了Simin Farrokh Ahmadi 分享的Persian Afternoon 项目过程,解释了 Maya 和 Mari 中的建模、纹理和照明过程。 介绍 我的名字是西敏-法罗赫-艾哈迈迪,人们都叫我辛巴 在我十几岁的时候,我就意识到我喜欢艺术和创造…

python最佳开发环境组合(pycharm+anaconda)

一、pycharmanaconda是python 最佳开发环境组合 1.pycharm与vscode对比 pycharm社区版与pycharm pro pycharm pro 与vscode 二、anaconda Anaconda Python 集成包 工具箱。 所以没有必要下载传统Python (cPython)个人十分不推荐使用传统python做科学计算, 一来…

【王道·操作系统】第五章 输入输出管理【未完】

一、I/O设备 1.1 I/O设备的基本概念 I/O,Input/Output:输入/输出I/O 设备:将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件UNIX系统将外部设备抽象为一种特殊的文件,用户…

C语言无类型指针 void* 学习

int * 类型的指针变量,只能保存int型的数据的地址; double * 类型的指针变量,只能保存double型的数据的地址; void 指针可以指向任意类型的数据,可以用任意类型的指针对 void 指针赋值; void 在英文中作为…

基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理

系列文章目录 基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建 基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定 基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理 基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理 基于PyQt5的桌面图像调试仿真平台开发(5)…

【LeetCode】动态规划 刷题训练(七)

文章目录 918. 环形子数组的最大和题目解析状态转移方程f[i]状态转移方程g[i]状态转移方程 初始化返回值完整代码 152. 乘积最大子数组题目解析状态转移方程f[i]状态转移方程g[i]状态转移方程 初始化完整代码 1567. 乘积为正数的最长子数组长度题目解析状态转移方程f[i]状态转移…

前端-盒子模型

元素显示模式 块级 行内 行内块 外边距折叠现象 合并现象 塌陷现象 (1)合并现象 场景:垂直布局的块级元素,上下的 margin 会合并 结果:最终两者距离为 margin 的最大值 解决方法:只给其中一个盒子设置 …

u盘ntfs和fat32哪个好 把u盘改成ntfs有什么影响

u盘在日常生活中的使用频率很高,许多用户在选购u盘时很少会注意到u盘格式,但u盘的格式对u盘的使用有很大影响。u盘格式有很多,常见的有ntfs和fa32,u盘ntfs和fat32哪个好?这要看u盘的使用场景。把u盘改成ntfs有什么影响…

简要记录java 锁

Java中的锁机制主要分为Lock和Synchronized. Synchronized在JVM里的实现是基于进入和退出Monitor对象来实现方法同步和代码块同步的。monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到方法结束处和异常处,JVM要保证每个mon…

datatable刷新数据,js不整体刷新页面,使用DataTables表格插件定时更新后台数据变化

文章目录 前言一、meta的http-equiv属性二、使用DataTables表格插件2.1.整体思路2.2.将$(#myTableId).DataTable({……})封装成函数2.3刷新表格数据函数2.4统一调用刷新表格的自动加载函数2.4定时间隔执行刷新自动加载函数 前言 最近遇到一个需求,需要刷…

【新版系统架构】第七章-系统架构设计基础知识(架构风格、复用)

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论第二章-计算机系统基础知识(一)第二章-计算机系统基础知识(二)第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…

安装两个mysql

标题:安装两个mysql 参考blog:MySQL–修改mysql服务可执行文件的路径(Windows) 参考视频:mysql安装-安装多个mysql方法 安装第一个,网上有很多教程,这里就附上一个链接了:mysql5.5安装 安装第…

JS知识点汇总(七)--数据类型

1. JavaScript中的简单数据类型有哪些? 1、概述 JS 中有六种简单数据类型:undefined、null、boolean、string、number、symbol ES10中的新特性 BigInt (任意精度整数),目前还处于stage-4阶段,不出意外即将成为js的第七种基本数据…

036:mapboxGL点击某位置,转换坐标为地址,弹出地理信息

第036个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中点击某位置,转换坐标位地址,弹出地理信息. 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共106行)相关API参考:专栏目标示例效果 配置方式 1)…

完整的复数类

复数类应该具有的操作 运算:,-,*,/ 比较:,! 赋值: 求模:modulus 利用操作符重载 统一复数与实数的运算方式 统一复数与实数的比较方式 注意事项 C 规定赋值操作符 () 只能重载…