你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32-端口复用和重映射

[复制链接]
yang9397 发布时间:2021-4-16 14:16
1. 端口复用功能

  X9 n, T+ z) I4 c( L1 M
Stm32有很多内置外设,这些外设的外部引脚都是与GPIO复用的,当这个GPIO作为内置外设使用的时候,就叫做复用。
举个例子:STM32F103ZET6的5个串口中的串口1,串口1的引脚对应的IO为PA9,PA10,而PA9,PA10的默认功能是GPIO,所以当PA9和PA10引脚作为串口1的TX,RX使用的时候,那就是端口复用。
4.1.png
5 B% s8 {  J1 ^2 m
复用端口功能在调用前需要先进行初始化配置。
/ z" i1 \8 O% s
A、GPIO端口使能。(要是使用到端口复用,当然要使能端口的时钟)
4.2.png
( w3 p. Q! {5 g# ?  j
B、复用的外设时钟使能。(要将端口PA9,PA10复用为串口,所以要使能串口时钟)
4.3.png
! _7 C9 d" V% Z- [
C、端口模式配置。在IO复用为内置外设的时候,必须要设置GPIO端口的模式。

6 R7 ?: d5 g' \0 Q1 D. |9 b2 y9 B5 U
拿Usart1举例
4.4.jpg
8 l5 Y: [1 i/ o! O# n5 u" ~, z2 C' q
所以,在使用复用功能时,最少要使能2个时钟:
1)GPIO时钟
2)复用的外设时钟
5 W$ z+ B& {2 ?) j& o) D, D' x0 ]% \
2. 端口重映射
为了使不同器件封装的外设的IO功能数量达到最优,可以把一些复用功能重新映射到其他一些引脚上,这种操作就是重映射。
每个内置外设都有若干个输入输出引脚,一般这些引脚的输出端口都是固定不变的,为了让设计工程师可以更好地安排引脚的走向和功能,在stm32中可以通过设置重映射寄存器的方式,把一个外设的引脚除了对应默认的端口外,还可以映射到其他端口。
举个串口1的例子:
4.5.png

1 Y6 B1 Q7 N* c& U
从表中可以看出,默认情况下,串口1复用的时候占用的是引脚位PA9,PA10,而我们可以通过重映射的方式,将TX和RX重新映射到管教PB6和PB7上。
' [2 t- z) q- k
在使用重映射功能的时,除了同样需要使能GPIO时钟和复用的外设时钟,还要使能AFIO功能时钟,然后要调用重映射函数。详细步骤为:
4.6.jpg
+ ]. M' t" f2 a: J2 ?- a
从上面可以看出,USART1只有一种重映射,即一旦映射,USART1的每一个功能引脚TX和RX都重新选泽,而对于USART3,存在部分重映射和完全重映射。所谓部分重映射就是部分管脚和默认的是一样的,而部分管脚是重新映射到其他管脚。而完全重映射就是所有管脚都重新映射到其他管脚。如图所示USART2重映射对应的表格:

; N: y" h! r% W' F% n4 m# o2 H
4.7.jpg
4 z: Q2 e0 [# Q7 K5 b
如果要使用USART3的部分重映射功能,我们需要调用函数方法为:
4.8.png
9 b$ J9 ?2 C/ i7 j, b( Z2 q9 H" s
文章出处: 兜兜的小白之旅

* ?5 f" }  k5 W) o% A0 q) Z- V
收藏 评论0 发布时间:2021-4-16 14:16

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版