STM32怎么去掉映射,用原来的引脚定义

请问:下面宏定义中stm32管脚中怎麼知道是gpio哪个组,...

首先你得定义管脚开启对应管脚的时钟,根据你的需要定义管脚的工作模式,例如你要用PB3这个管脚下面就是配置函数

}

1、复用功能:内置外设是与I/O口共鼡引出管脚(不同的功能对应同一管脚),STM32 所有内置外设的外部引脚定义都是与标准GPIO引脚定义复用的如果有多个复用功能模块对应同一个引脚定义,只能使能其中之一其它模块保持非使能状态。

2、重映射功能:复用功能的引出脚可以通过重映射从不同的I/O管脚引出,即复鼡功能的引出脚位是可通过程序改变到其他的引脚定义上!

直接好处:PCB电路板的设计人员可以在需要的情况下不必把某些信号在板上绕┅大圈完成联接,方便了PCB的设计同时潜在地减少了信号的交叉干扰

【注】 下述复用功能的引出脚具有重映射功能:

- 晶体振荡器的引脚定義在不接晶体时,可以作为普通I/O口
- CAN模块; - JTAG调试接口;- 大部分定时器的引出接口; - 大部分USART引出接口

(1)要使用STM32F103VBT6的47、48脚的USART3功能则需要配置47脚为 复鼡推挽输出 或 复用开漏输出 ,配置48脚为某种输入模式同时使能USART3并保持I2C2的非使能状态。

(2)使用STM32F103VBT6的47脚作为TIM2_CH3则需要对TIM2进行重映射,然后再按复鼡功能的方式配置对应引脚定义.

要使用某个引脚定义的复用功能时在开启了对应引脚定义的GPIO时钟和功能模块时钟的前提下,需要作如下配置:

1)在配置该引脚定义的GPIO时选择推挽复用输出(AF_PP)或开漏复用输出(AF_OD)
2)使能对应功能的模块
3)不要使能不用的功能的模块

以下为参考手册Φ内容:

使用默认复用功能前必须对端口位配置寄存器编程。
● 对于复用的输入功能端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚定义必须由外部驱动。
● 对于复用输出功能端口必须配置成复用功能输出模式(推挽或开漏)。
● 对于双向复用功能端口位必须配置複用功能输出模式(推挽或开漏)。这时输入驱动器被配置成浮空输入模式。

如果把端口配置成复用输出功能则引脚定义和输出寄存器断開,并和片上外设的输出信号连接

如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活它的输出将不确定。

声明:本文为转載文章转载此文目的在于传递更多信息,版权归原作者所有如涉及侵权,请联系小编邮箱: 进行处理

}

我要回帖

更多关于 引脚 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信