STM32 时钟 寄存器 异常和中断

时钟:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值