復用:將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);