STM32的功能引脚重映射和复用功能

STM32中有很多内置外设的输入输出引脚都具有重映射(remap)的功能,本文对一些在使用引脚重映射时所遇到的有关问题加以说明。

我们知道每个内置外设都有若干个输入输出引脚,一般这些引脚的输出脚位都是固定不变的,为了让设计工程师可以更好地安排引脚的走向和功能,在STM32中引入了外设引脚重映射的概念,即一个外设的引脚除了具有默认的脚位外,还可以通过设置重映射寄存器的方式,把这个外设的引脚映射到其它的脚位。下面是STM32F103xC中有关USART3引脚的摘要片段;

从这里可以看出,USART3_TX的默认引出脚是PB10,USART3_RX的默认引出脚是PB11;但经过重映射后,可以变更USART3_TX的引出脚为PD8,变更USART3_RX的引出脚为PD9。


STM32中的很多内置外设都具有重映射的功能,比如USART、定时器、CAN、SPI、I2C等,详细请看STM32参考手册(RM0008)和STM32数据手册。

有些模块(内置外设)的重映射功能还可以有多种选择,下面是RM0008上有关USART3输入输出引脚的重映射功能表:

从这个表中可以看出,USART3的TX和RX引脚默认的引出脚位是PB10和PB11,根据配置位的设置,可以重映射到PC10和PC11,还可以重映射到PD8和PD9。


一个模块的功能引脚不管是从默认的脚位引出还是从重映射的脚位引出,都要通过GPIO端口模块实现,相应的GPIO端口必须配置为输入(对应模块的输入功能,如USART的RX)或复用输出(对应模块的输出功能,如USART的TX),对于输出引脚,可以按照需要配置为推挽复用输出或开漏复用输出。

上图是STM32的GPIO端口模块,使用复用功能时的配置。从图中可以看出,配置为复用输出时,该端口对应的GPIO输出功能将不起作用。例如当配置PB10对应的引脚为复用输出功能时,操作PB10对应的输出寄存器将不影响引脚上的信号。

从图中还可以看出,普通的GPIO端口输入功能与复用的输入功能的配置方式没有分别,这意味着在使用引脚的复用输入功能时,可以在这个引脚的输入寄存器上读出引脚上的信号。例如在使能了USART3模块时,可以读GPIOB_IDR寄存器,得到PB11信号线上的当前状态。


有不少引脚上配备了来自多个模块的复用功能引出脚,例如本文第一张图中显示的PB10,默认复用功能就有I2C2_SCL和USART3_TX两个功能,TIM2重映射后,TIM2_CH3也使用PB10的复用功能。

在使用引脚的复用功能时,需要注意在软件上只可以使能一个外设模块,否则在引出脚上可能产生信号冲突。例如,如果使能了USART3模块,同时没有对USART3进行重映射配置,则不可以使能I2C2模块;同理如果需要使用I2C2模块,则不能使能USART3模块。但是如果配置了USART3的引脚重映射,USART3的TX和RX信号将从PC10和PC11,或PD8和PD9引出,避开了I2C2使用的PB10和PB11,这时就可以同时使用I2C2模块和USART3模块了。


USART3模块共有5个信号,分别为TX、RX、CK、CTS和RTS,从上面给出的第二张图中可以看出,重映射是对所有信号同时有效。

这5个信号中,在使能了USART3模块后,只有TX和RX是始终与对应的引出脚相连,而其它3个信号分别有独立的控制位,控制它们是否与外部引脚相连,如果程序中不使用某个信号的功能,则可以关闭这个信号的功能,对应的引脚可以做为其它功能的引出脚。例如,当关闭了USART3的CK、CTS和RTS功能并且没有重映射USART3时,PB12、PB13和PB14可以作为通用输入输出端口使用,也可以作为其它模块的复用功能引出脚。

下面这张图是一个内部控制连接的等效示意图,它并不表示真正的内部连接,但可以有效地帮助理解重映射和复用引脚的概念。图中右边引出的信号,分别连接到了本文第三张图的输入输出模块。


转自: http://blog.ednchina.com/STM32/1597376/message.aspx


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
stm32f407v是一款基于ARM Cortex-M4核心的微控制器,具有丰富的外设和引脚复用功能设计。该芯片提供了多种引脚复用功能的选择,方便用户根据实际需求进行配置。下面是stm32f407v的引脚复用功能框图的详细解释。 stm32f407v的引脚复用功能框图主要包括以下几个方面: 1. 引脚复用功能选择:stm32f407v的引脚复用功能由芯片的外设模块和GPIO控制器共同决定。用户可以通过设置相关的寄存器来选择某个引脚实现某个外设功能,或者将某个引脚配置为通用输入输出引脚。 2. 引脚功能复用表:stm32f407v提供了一个引脚功能复用表,列出了每个引脚复用功能选项以及其对应的功能编号。用户可以根据所需的功能以及引脚复用矩阵进行配置。 3. 复用功能的选择和配置:用户可以通过引脚复用功能选择和配置相关寄存器来实现特定功能复用。例如,将某个引脚配置为USART1的TX功能,在引脚复用选择寄存器中选择相应的功能编号,并配置相关的控制寄存器来使能该功能。 4. 外设连接和引脚映射:stm32f407v的引脚复用功能框图还显示了不同外设功能模块和其对应的引脚映射关系。用户可以根据框图中的连接关系来选择引脚,实现特定的外设功能。 总的来说,stm32f407v的引脚复用功能框图提供了一个直观的视图,用户可以根据框图中的信息来选择和配置引脚复用功能,实现不同的外设功能和连接要求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值