STM32 & contex m3 笔记一

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

目录

简介

芯片架构

系统时钟

GPIO


简介

STM32是Cortex-M3 系列的,而Cortex-M3 处理器采用ARMv7-M 架构。

芯片架构

上图是stm32的系统结构。

使用哈弗体系结构,取指和取数据分离,

ICODE指令总线连接到flash闪存指令存储区,这个存储区的地址在0x00000000-0x1FFFFFFF之间,负责取指操作。

DCODE数据总线负责在0x00000000-0x1FFFFFFF之间的数据访问操作。这个数据存储区可以是SPRAM也可以是闪存和外设。Stm32f10系列的静态SPRAM为64K,起始地址为0x20000000.

系统总线:负责在0x20000000-0xDFFFFFFF和0xE0100000-0xFFFFFFFF之间所有的数据传送。

AHB 总线这是贯穿所有外设的一条总线, 可以在图中发现, AHB经过桥接, 由APB1、 APB2控制着几乎所有外设, 2>1, APB2属于高速设备, 而APB1则属于低速设备。

系统时钟

  • HSE:外部晶体/陶瓷谐振器(一般选用8M 手册中提到范围为4~16Mz)用户外部时钟 (最高可达25MHz从SOC_IN引脚输入,并保证OSC_OUT悬空)。
  • HSI:此时钟信号由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为

PLL输入。

  • LSE:是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提

供一个低功耗且精确的时钟源

  • LSI RC:担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看

门狗和自动唤醒单元提供时钟。 LSI时钟频率大约40kHz(在 30kHz和 60kHz之间)。

除此之外,值得一提的是SYSCLK/HSI/HSE/2分频的PLL时钟,可由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制外部 MCO引脚输出。作为时钟同步信号。

GPIO

GeneralPurposeInputOutput(通用输入/输出)

构体单元名

中文释义

实际结构与特点

AIN

模拟输入

实际控制中,关闭了上端的施密特触发器(自己的翻译,图中TTL肖特基触发器恕我知识浅薄看不懂),以及输出驱动器即模拟信号仅能通过管脚流入片内模拟输入端。(有可能有下拉电阻,起到阻抗匹配作用)。

IN_FLOATING

浮空输入

理解起来最简单,即什么都不接,手触摸的时候人体感应引脚,可能高可能低,这个就不好说啦, STM32结构不明,更何况人体是个大电容啊。一般不用。

IPD

下拉输入

D即DOWN,下拉,笔者认为起到衰减及稳定信号作用,如有雷同理解,不胜荣幸。

IPU

上拉输入

U即UP,上拉,此时在输入端,上拉电阻开关使能, 芯片或接口的内部或外部有上拉,保证输入不接信号时为1。

Out_OD

开漏输出

相当于三极管集电极, 要得到输出高电平需上拉电阻, 若输出低电平则吸电流能力强,可参看达林顿管UNL2003,思考该芯片可否输出电平1

out_PP

推挽输出

笔者钻研开关电源,(数字电路很没劲啦,一下一下就搞出来了的, 开关电源环节多, 健脑O(∩_∩)O~~) 习惯称为图腾柱输出, otemPole,或半桥,两个三极管或FET 受互补信号控制, 使得在一个导通时另一个总是截止。 一般用来用来匹配电压, 或者提高IO口的驱动能力。 在STM32中当然是为了提高其驱动能力而设定的。

AF_OD

开漏复用

AF是复用的标号,是对于STM32的GPIO 管脚的第二功能而言的, 具体用到再说。 比如使用串口就是要设为复用哦。 具体配置可以参看参考手册V10: 8.1.11 外设的GPIO 配置

Stm32的GPIO的8种模式:

(1)GPIO_Mode_AIN 模拟输入 

(2)GPIO_Mode_IN_FLOATING 浮空输入

(3)GPIO_Mode_IPD 下拉输入 

(4)GPIO_Mode_IPU 上拉输入 

(5)GPIO_Mode_Out_OD 开漏输出

(6)GPIO_Mode_Out_PP 推挽输出

(7)GPIO_Mode_AF_OD 复用开漏输出 

(8)GPIO_Mode_AF_PP 复用推挽输出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

002237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值