STM32F103学习笔记 一起加油

本文详细介绍了STM32F103VET6的系统架构,包括存储器映射(如Flash、SRAM、FSMC等)、GPIO的驱动电路、输出模式、以及施密特触发器的应用。讨论了总线操作、存储器访问和I/O控制的相关知识。
摘要由CSDN通过智能技术生成

stm32F103VET6系统框图

驱动单元 被动单元

ICode总线读取Flash Flash存程序转换成的指令和常量

DCode总线读SRAM和Flash SRAM存变量

System总线读寄存器

DMA总线把数据搬到寄存器

DCode总线和DMA总线同时读取数据,总线总裁的作用就出来了

FSMC接外存

AHB系统总线接RCC SDIO外设

桥接器连APB1 APB2接外设

STM32F103VET6的存储器映射

ST给存储器分配地址叫存储器映射

8个512MB BANK块

BANK0是Flash用64KB BANK1是SRAM用64KB BANK2是外设 

BANK3 BANK4 BANK5是FSMC  BANK6不用 

BANK7是Cortex-M3内外设

编程:sbit是重命名 要有= 空格 给每一位重命名

寄存器映射:sfr也是重命名 也要有= 空格 将寄存器地址命名一个名字

GPIO框图解读:

I/O引脚不能直接接电机要用驱动电路隔离不然整个芯片烧坏,当输入电压高于3.3伏会流向上面的二极管而不会流入里面防烧坏,当I/O引脚低于0伏时下面的二极管流出引脚

推挽输出:数据寄存器相应位为1时,反向器变为0,上面的MOS管导通推到GPIO为VDD高电平,数据寄存器为0时,反向器变为1,下面的MOS管导通把GPIO拉到和VSS一样为低电平,

开漏输出:上面MOS管禁止,当数据寄存器为0时,变为1,下面MOS把I/O口拉为低电平,当为1时,变为0,I/O口为高阻态,如果要输入高电平要外接上拉电阻和电源VDD,比如传感器要5V驱动,VDD就要接5V

位设置/清除寄存器会写入输出数据寄存器,高16位全写1让ODR清0,低16位全写1让ODR置1,同时写1低16位优先

配置低寄存器和高寄存器同时控制GPIO的输入输出模式,4位对应1个GPIO端口,比如GPIOB有16个引脚,每4位控制1个端口

复用功能输出来自UART串口的数据寄存器

上拉输入/下拉输入配置通过端口配置低高寄存器和位设置/清除寄存器,上拉输入位设置全1,就是低16位全1,下拉输入位清除全1,就是高16位全1

高于2V施密特触发器就选择1,低于1.2V施密特触发器就选择0到输入,就是转换为高低电平,复用功能输入经过施密特触发器,模拟输入不经过施密特触发器,这两个功能未知

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

点灯寻一人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值