初学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引脚是被动连接的吗(似乎是的)? |