端口复用的理解
复用:将GPIO作为内置的外设使用。
初始化复用端口:
1.GPIO时钟使能,和复用的外设时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART|RCC_APB2Periph_GPIOA, ENABLE);
2.端口模式配置
复用的内置外设功能引脚,要根据STM32手册里的所要求的配置来对应GPIO的模式
拿串口举例来说:
我们设置TX设置推挽,RX就要设置浮空或上拉
//USART1_TX PA.9 复用推挽输出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 GPIO_Init(GPIOA, &GPIO_InitStructure); //USART1_RX PA.10 浮空输入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure);