1.选择IO口的模式:
我们知道对于大多数的管脚设置而言一般有四种模式可以供我们在配置IO口时使用,其实我们不必要记忆什么模式怎么设置,在数据手册IO口设置中已经将我们需要的配置模式给出,只要我们查手册即可。
2.STM32上有很多I/O口,也有很多的内置外设像I2C,ADC,ISP,USART等 ,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。
但是STM32还有一特别之处就是:很多复用内置的外设的I/O引脚可以通过重映射功能,从不同的I/O管脚引出,即复用功能的引脚是可通过程序改变的。知道了这些
我们就不难理解如果程序中用到的USART2外设的TX,RX分别对应PA2,PA3,但是我们的学习板上的PA2,PA3引脚接了其他设备,但是为了还要用USART2
“RCC_APB2Periph_GPIOD |RCC_APB2Periph_AFIO”就打开了GPIOD重映射功能把USART2设备的TX,RX映射到PD5,PD6上,我们在这两个引脚上接上MAX232串口芯片就可以使用USART2串口通信了。
对于何时采用重映射我们可以查询数据手册看目前使用管脚是否为重映射后的管脚如果是则RCC_APB2PeriphClockCmd需要将AFIO打开(手册显示为1)如果不是则正常开启GPIO时钟和内部外设的时钟即可
重映射后我们还要注意一个设置,GPIO_PinRemapConfig()函数对所用的GPIO进行使能
特别注意的是重映射功能是针对特定的管脚实现的64位和100位才可以
STM32中GPIO和AFIO的设置中的两个问题
最新推荐文章于 2024-08-04 23:11:36 发布