STM32再学习(四)7.22上午

一.MDK 中寄存器地址名称映射分析

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

GIPO 寄存器都是 32 位,所以每组 GPIO 的 10 个寄存器中,每个寄存器占有 4 个地址,一共占用 40 个地址。所以地址要偏移4*10=40,每次偏移4,也就是从0x00每次加4,不过加的计数模式是16进制。
GPIOA 的寄存器的地址=GPIOA 基地址+寄存器相对 GPIOA 基地址的偏移值在找地址的过程中,就是不停地右键选中“Go to definition of ”。

补充一些关于总线的东西:AHB是高速总线,是一种系统总线,它主要负责连接处理器、DMA等一些内部接口。AHB系统由主模块、从模块和基础结构3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应.。APB是低速总线,它主要负责连接外围设备,它又分为APB1和APB2,它的总线架构不像 AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。APB桥就是连接AHB和APB中间的玩意.APB1最大时钟频率为36MHz,APB2最大时钟频率为72MHz.
总线有控制总线,数据总线和地址总线,控制总线是发送控制信号的,地址总线是传送地址信号的,CPU要访问内存,必须首先在地址总线上给出内存的地址,所谓32位的地址总线是指根CPU相连的地址线有32条,每一条可以给出两个不同的符号(0和1)那么就可以访问2的32次方的空间的内存。数据总线是传输数据的,CPU要从内存或者缓存中读取数据,必须通过数据总线进行,32位的数据总线对应的是跟CPU相连的32根数据线。一条数据线传送一个二进制数,32位数据总线一次就可以传送2个字节的数据。CPU中的位指的是CPU运算一次处理数据量的能力,32位CPU一次可以处理32位的数据,64位CPU一次可以处理64位的数据。64位CPU不一定对应64位数据总线和地址总线,如果是32位的总线,可以采取分两次传送的措施,一般总线的位数大于等于CPU的位数.

APB2负责AD,I/O,高级TIM,串口1;APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM。
中断服务程序,处理器处理“急件”,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理“急件”的程序被称为——中断服务程序。特点就是短小精悍;不能有返回值,因为中断服务函数是随机进入的,如果有返回值它的返回值返回给谁?显然这个返回值毫无意义;不能用printf(原因嘛我也不是很清楚)。

二.定时器1.1

定时器2-7:普通定时器
定时器1、8:高级定时器
在这里插入图片描述

在这里插入图片描述

除非APB1的分频系数是1,否则通用定时器的时钟等于APB1时钟的2倍。
所以会有:当输入频率为72M,周期则是0.0138s,输入时钟每增加0.0138s,计数器增加一次;2分频时,周期为0.027s,输入时钟每增加0.027s,计数器增加一次,实际定时器计数频率为36M。即若原来定为10ms,改变预分频后,定时器为20ms。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值