【STM32F1】关于GPIO引脚复用的疑问

初学STM32F103系列单片机,看了参考手册中关于GPIO的部分内容,心中有一个疑问不得其解,希望懂的朋友能帮忙解释一下!我的疑问是:GPIO引脚的外设时钟一旦启用,GPIO引脚就连接到相应的外设引脚上,由于好多引脚是复用的,即可以与多个外设连接,比如PA1引脚可以作为USART2/ADC/TIM5/TIM2外设引脚使用,根据手册中关于使用的描述,在同一时刻只能启用其中一个外设,也就是说在使用USART2时不能同时使用TIM2(如果不进行重映射的话),那么如果同时要使用USART2和TIM2(在PA0~PA3四个引脚上重合)时,该如何?通过搜索,其中有一篇文章讲到,有两种解决办法,一、将USART2全部重映射到PD口上,代价是FSMC不能使用;二、TIM2重映射到其他引脚,代价是其他引脚上的其他外设不能使用。我的疑问是,如果必须这样的话,那么如果我启用ADC时钟,由于ADC有16个通道,对应16个引脚,如上面的PA1,那么意味着所有这16引脚上的其他外设(受影响外设有SPI1、USART2、DAC1、DAC2、TIM2、TIM3、TIM5、TIM8,尤其是DAC由于和ADC一样无法重映射,就没有办法一起使用了)均不能使用或选择所谓的分时复用,如此一来,如果不进行重映射的话,那么片上的外设和引脚资源的使用将受到极大的限制,不知道,是我理解的不对,还是这个片子就是这个样子,所以有此一问,还请知道的帮忙解释一下。
另外还有一个小小的问题问下:如果某外设时钟启用,比方说上面的USART2,那么USART2相关的外设(TX,RX,CTS,RTS等)自动的与相应的GPIO引脚连接,这个是怎么实现的,GPIO引脚是被动连接的吗(似乎是的)?

 

 

永不止步步 发表于09-28 12:01 浏览65535次
分享到:

已有2条评论

  • EEskill
    EEskill 09-28 13:53

    你可以试试分时复用...改一下配置寄存器.
    如果一个功能占用了.那就不能用其他功能了....你的两只眼睛也不能一只看东一只看西是吧?
    如果必须,就换 io 多的封装.

  • 畅学电子
    畅学电子 09-28 13:52

    开启AD时钟,只是AD功能的一个前提,并不意味着AD引脚就使能,更不意味着所有ADC引脚只能作为AD使用。还要对ADC寄存器配置、IO引脚配置,最终才能确定一个AD引脚输入。

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:307967个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号