STM32基础篇:引脚 × 复用 × 重映射

特殊引脚与普通引脚

特殊引脚

特殊功能引脚:"迫于生活压力"被特化的引脚,即为了满足芯片运行的基本条件。

以STM32F103C8T6型号为例,其特殊功能引脚(11个)(Vdd+Vss)*3多组供电接口
VDDA+VSSA(A表示Analog,模拟的)给芯片内部模拟模块供电
BOOT0启动模式选择引脚
NRST复位,低电平有效
VBAT(Battery-备用电池)

普通引脚

普通IO引脚:未被特化,可编程,真正的可用之才。

同样以STM32F103C8T6为例,其共48个引脚,除去11个特殊功能引脚后,还剩37个普通IO引脚。


普通IO引脚的命名规则

"字母+数字"的命名方式

1、首先对IO分组,尽量每16个引脚分一组,使用字母表示组编号,比如:GPIOA、GPIOB、GPIOC、...、GPIOG

2、组的内部使用数字编号,如每组16个引脚,则编号是从0~15,比如GPIOA的第一个引脚叫PA0

3、芯片上的引脚,其编号不一定是连续的

对于STM32F103C8T6,其普通IO引脚名称分别为:

PA0~PA1516个
PB0~PB1516个
PC13、14、153个
PD0、PD12个

IO复用

什么是IO复用

IO复用:指IO引脚身兼数职的现象。对于STM32芯片的一些引脚,其不仅能被GPIO模块直接控制(当做普通IO引脚使用),还能被其他模块使用。

名称通用复用
PA9普通IOUSART1_Tx/TIM1_CH3
PA10普通IOUSART1_Rx/TIM1_CH4

以PA9和PA10为例,除了被GOIO使用,用于输出或检测高低电平外,还可以被串口使用,当做串口的发送引脚或接收引脚来使用;也可以被定时使用,作为定时器的通道3和4来使用。


为什么要复用

从芯片设计人员角度去想,要开发一款芯片,对于此芯片来说,其引脚数量是一定的(例如48个),且希望芯片里面有许多模块。但每个模块几乎都需要占用一些引脚资源(例如ADC模块要占用10个引脚),所有模块所需引脚数量多于给定引脚数量,就需要让同一个引脚去身兼数职。

这样,有限的IO引脚,可以装备更多的功能。


通用功能与复用功能

通用功能(普通IO):通过GPIO模块直接对一组IO口引脚进行读写。

复用功能:IO引脚的控制权交给芯片的其他模块,编程人员对该模块进行编程,从而间接控制IO引脚。(其他模块控制GPIO模块,间接控制IO)


IO重映射

对于同一个引脚,可能有多个复用功能。比如PA9、PA10能被串口和定时器使用,当串口和定时器同时使用时,引脚分配不够,此时通过IO重映射,将串口或定时器(二者中的一个)的复用功能转移到其他IO引脚上。


 最小系统板引脚图

 同样以PA9、PA10为例,当其被串口和定时器同时使用时,串口的复用功能可转移到PB7或PB6上(重映射),定时器则继续使用PA9、PA10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值