STM32作为一款功能强大的集成芯片,内置了许多外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。而许多外设引脚除了拥有默认的端口外,还可以通过配置重映射寄存器,将引角映射到其他端口上,不仅是为了制版时布线方便,还可以潜在的减少信号的干扰。
1、端口复用的配置步骤
① GPIO端口时钟使能。
②复用外设时钟使能。
③端口模式配置。(需要查找《STM32中文手册》中外设的GPIO的配置)需要该手册可以在公众号内回复:STM32中文手册
例:以PA9,PA10复用为串口1为例
//①IO时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //②外设时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //③初始化IO为对应的模式 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA9复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10 浮空输入 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure);
|