单片机学习小组
登录
直播中
陈存楼
8年用户
1168经验值
私信
关注
STM32F103系列芯片的地址映射和寄存器原理分别是什么
开启该帖子的消息推送
STM32F103
芯片
寄存器
STM32
F103系列芯片的地址映射和寄存器原理分别是什么?
如何对GPIO端口的初始化进行设置?
回帖
(1)
龙慧
2022-2-11 15:00:09
一、STM32F103系列芯片的地址映射和寄存器原理
1.地址映射
在32开发中,我们通常使用库进行开发。说白了,32开发是从底层一层一层封装上去的。到我们开发者这里,就是使用最上层的接口进行开发。但是一层一层看下去,还是对寄存器的控制,要控制寄存器,就需要操作寄存器地址。
2.寄存器原理
寄存器应具有接收数据、存放数据和输出数据的功能,它由触发器和门威廉希尔官方网站 组成。只有得到“存入脉冲”(又称“存入指令”、“写入指令”)时,寄存器才能接收数据;在得到“读出”指令时,寄存器才将数据输出。 寄存器存放数码的方式有并行和串行两种。并行方式是数码从各对应位输入端同时输入到寄存器中;串行方式是数码从一个输入端逐位输入到寄存器中。 寄存器读出数码的方式也有并行和串行两种。在并行方式中,被读出的数码同时出现在各位的输出端上;在串行方式中,被读出的数码在一个输出端逐位出现。
二、GPIO端口的初始化设置
1.何为GPIO
①GPIO是通用输入输出端口的简称,可以通过软件控制其输入输出
② GPIO的功能:stm32单片机的GPIO引脚和外部设备连接起来,从而实现stm32和外部通信、控制和数据采集功能
2.GPIO内部结构
①图中的I/O端口是STM32芯片的引脚,GPIO的其他部分在STM32芯片内部
②保护二极管:引脚内部加上这两个保护二极管可以防止引脚外部过高或过低的电压输入,保护二极管功能的实现原理:当引脚电压高于VDD_FT或者VDD时,上方的二极管导通吸收这个电压,当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁
③上下拉电阻:
上拉电阻和下拉电阻都有一个开关,通过设置上下拉电阻开关,可以控制引脚的默认状态电平;当开启上拉时引脚默认电平为高电平,当开启下拉时引脚默认电平为低电平;当上拉和下拉的开关都关断,这种模式称为浮空模式,一旦配置成这个模式,引脚的电压将是不确定的;STM32上下拉及浮空模式的配置是通过GPIO_CRL和GPIO_CRH寄存器控制的,STM32的上拉其实是个弱上拉,也就是通过此上拉电阻输出的电流很小,如果想要输出一个大电流,则需要外接上拉电阻
④P-MOS和N-MOS
GPIO引脚进过两个保护二极管后分为两路,上面一路是“输入模式”,下面一路是“输出模式”,输出模式中,线路经过一个由P-MOS和N-MOS管组成的单元威廉希尔官方网站 ,这使GPIO引脚具有了推挽和开漏两种输出模式
⑤输出数据寄存器:
双MOS管结构威廉希尔官方网站 的输入信号,是由GPIO“输出数据寄存器GPIOx_ODR”提供的,
因此我们可以通过修改数据寄存器的值就可以改变GPIO引脚的输出电平,而置位/复位寄存器GPIOx_BSRR可以通过修改输出数据寄存器的值从而影响威廉希尔官方网站 的输出
⑥输入数据寄存器:
输入数据寄存器是由IO口进过上下拉电阻、施密特触发器引入,当信号进过触发器,模拟信号将变成0或1,然后存储在输入数据寄存器中,通过读取输入数据寄存器GPIOx_IDR就可以知道IO口的电平状态
3.GPIO工作模式
①模拟输入(GPIO_Mode_AIN):应用ADC模拟输入或者低功耗下省电
②浮空输入(GPIO_Mode_IN_FLOATING):浮空输入只取决于外部输入(因为无上拉电阻和下拉电阻)
③下拉输入(GPIO_Mode_IPD):使用下拉电阻,此时输入GPIO的电平为低电平
④上拉输入(GPIO_Mode_IPU):使用上拉电阻,此时输入的GPIO的电平为高电平
⑤开漏输出(GPIO_Mode_Out_OD):
a.介绍:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻,适合做电流型的驱动,其吸收电流的能力相对强
b.特点:开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻
⑥ 推挽输出(GPIO_Mode_Out_PP):
a.作用和简介:可以输出高低电平,连接数字器件,推挽结构一般是指两个三极管或者MOSFET(P-MOS、N-MOS)分别受到两互补信号控制,总是在一个三极管导通的时候时另外一个截止。高低电平由IC的电源决定
b.原理:推挽威廉希尔官方网站 是P-MOS和N-MOS以推挽方式存在在威廉希尔官方网站 中,各负责正负半周期的波形放大任务,威廉希尔官方网站 工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高,输出既可以向负载灌电流,也可从负载抽取电流,推拉式输出级既提高威廉希尔官方网站 的负载能力,又提高开关速度,
⑦复用开漏输出(GPIO_Mode_AF_OD):
⑧复用推挽输出(GPIO_Mode_AF_PP):
三、用STM32最小系统核心板+面板+3只红绿蓝LED搭建威廉希尔官方网站 控制LED灯
1.连接威廉希尔官方网站
2.创建项目
(1)工具下载
①FlyMcu
②CH341SerSetup
安装后点击启动驱动
(2)用C语言实现
①在keil中新建文件,命名并选择芯片(F103c8)
②添加文件main1.c
②右键Source Group1进行配置
一、STM32F103系列芯片的地址映射和寄存器原理
1.地址映射
在32开发中,我们通常使用库进行开发。说白了,32开发是从底层一层一层封装上去的。到我们开发者这里,就是使用最上层的接口进行开发。但是一层一层看下去,还是对寄存器的控制,要控制寄存器,就需要操作寄存器地址。
2.寄存器原理
寄存器应具有接收数据、存放数据和输出数据的功能,它由触发器和门威廉希尔官方网站 组成。只有得到“存入脉冲”(又称“存入指令”、“写入指令”)时,寄存器才能接收数据;在得到“读出”指令时,寄存器才将数据输出。 寄存器存放数码的方式有并行和串行两种。并行方式是数码从各对应位输入端同时输入到寄存器中;串行方式是数码从一个输入端逐位输入到寄存器中。 寄存器读出数码的方式也有并行和串行两种。在并行方式中,被读出的数码同时出现在各位的输出端上;在串行方式中,被读出的数码在一个输出端逐位出现。
二、GPIO端口的初始化设置
1.何为GPIO
①GPIO是通用输入输出端口的简称,可以通过软件控制其输入输出
② GPIO的功能:stm32单片机的GPIO引脚和外部设备连接起来,从而实现stm32和外部通信、控制和数据采集功能
2.GPIO内部结构
①图中的I/O端口是STM32芯片的引脚,GPIO的其他部分在STM32芯片内部
②保护二极管:引脚内部加上这两个保护二极管可以防止引脚外部过高或过低的电压输入,保护二极管功能的实现原理:当引脚电压高于VDD_FT或者VDD时,上方的二极管导通吸收这个电压,当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁
③上下拉电阻:
上拉电阻和下拉电阻都有一个开关,通过设置上下拉电阻开关,可以控制引脚的默认状态电平;当开启上拉时引脚默认电平为高电平,当开启下拉时引脚默认电平为低电平;当上拉和下拉的开关都关断,这种模式称为浮空模式,一旦配置成这个模式,引脚的电压将是不确定的;STM32上下拉及浮空模式的配置是通过GPIO_CRL和GPIO_CRH寄存器控制的,STM32的上拉其实是个弱上拉,也就是通过此上拉电阻输出的电流很小,如果想要输出一个大电流,则需要外接上拉电阻
④P-MOS和N-MOS
GPIO引脚进过两个保护二极管后分为两路,上面一路是“输入模式”,下面一路是“输出模式”,输出模式中,线路经过一个由P-MOS和N-MOS管组成的单元威廉希尔官方网站 ,这使GPIO引脚具有了推挽和开漏两种输出模式
⑤输出数据寄存器:
双MOS管结构威廉希尔官方网站 的输入信号,是由GPIO“输出数据寄存器GPIOx_ODR”提供的,
因此我们可以通过修改数据寄存器的值就可以改变GPIO引脚的输出电平,而置位/复位寄存器GPIOx_BSRR可以通过修改输出数据寄存器的值从而影响威廉希尔官方网站 的输出
⑥输入数据寄存器:
输入数据寄存器是由IO口进过上下拉电阻、施密特触发器引入,当信号进过触发器,模拟信号将变成0或1,然后存储在输入数据寄存器中,通过读取输入数据寄存器GPIOx_IDR就可以知道IO口的电平状态
3.GPIO工作模式
①模拟输入(GPIO_Mode_AIN):应用ADC模拟输入或者低功耗下省电
②浮空输入(GPIO_Mode_IN_FLOATING):浮空输入只取决于外部输入(因为无上拉电阻和下拉电阻)
③下拉输入(GPIO_Mode_IPD):使用下拉电阻,此时输入GPIO的电平为低电平
④上拉输入(GPIO_Mode_IPU):使用上拉电阻,此时输入的GPIO的电平为高电平
⑤开漏输出(GPIO_Mode_Out_OD):
a.介绍:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻,适合做电流型的驱动,其吸收电流的能力相对强
b.特点:开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻
⑥ 推挽输出(GPIO_Mode_Out_PP):
a.作用和简介:可以输出高低电平,连接数字器件,推挽结构一般是指两个三极管或者MOSFET(P-MOS、N-MOS)分别受到两互补信号控制,总是在一个三极管导通的时候时另外一个截止。高低电平由IC的电源决定
b.原理:推挽威廉希尔官方网站 是P-MOS和N-MOS以推挽方式存在在威廉希尔官方网站 中,各负责正负半周期的波形放大任务,威廉希尔官方网站 工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高,输出既可以向负载灌电流,也可从负载抽取电流,推拉式输出级既提高威廉希尔官方网站 的负载能力,又提高开关速度,
⑦复用开漏输出(GPIO_Mode_AF_OD):
⑧复用推挽输出(GPIO_Mode_AF_PP):
三、用STM32最小系统核心板+面板+3只红绿蓝LED搭建威廉希尔官方网站 控制LED灯
1.连接威廉希尔官方网站
2.创建项目
(1)工具下载
①FlyMcu
②CH341SerSetup
安装后点击启动驱动
(2)用C语言实现
①在keil中新建文件,命名并选择芯片(F103c8)
②添加文件main1.c
②右键Source Group1进行配置
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32F103
芯片
寄存器
如何对
STM32F103
ADC
寄存器
进行配置
2021-09-27
1411
如何利用
STM32F103
C8T6去控制LED灯轮流闪烁呢
2022-01-19
2810
如何使用
STM32F103
系列
芯片
以
寄存器
的方式点亮LED流水灯
2022-02-11
1744
怎样去使用
stm32f103
的AFIO
寄存器
呢
2021-11-16
1659
怎样去点亮基于GPIO
寄存器
的LED流水灯呢
2022-02-11
864
如何去实现一种
STM32F103
点亮LED流水灯的设计
2022-02-11
1318
怎样用
STM32F103
C8T6+面板板+LED去搭建一种威廉希尔官方网站 呢
2022-02-25
1378
STM32F103
FALSH
寄存器
找不到
2018-11-22
2977
怎样通过
STM32F103
寄存器
去点亮LED流水灯呢
2022-02-11
903
GD32E
103
/
F
303
系列
与
STM32F103
的硬件是怎样替换的
2021-10-15
3558
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分