端口复用"/>
stm32F407ZGT6端口复用
串口1的发送接收引脚是PA9,PA10。当我们把PA9,PA10不用做GPIO,而用做复用功能串口1的发送接收引脚的时候,叫端口复用。
串口2:PA2,PA3
注意,一组串口,不一定只有一组引脚。如:USART2_RX串口2除了PA2,PA3。PD6,PD5也有USART2_RX的功能。
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1时钟//串口1对应引脚复用映射GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9复用为USART1GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10复用为USART1//USART1端口配置GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; //GPIOA9与GPIOA10GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHzGPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PA9,PA10
//串口1对应引脚复用映射
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9复用为USART1
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10复用为USART1。注意这个函数GPIO_PinAFConfig()是复用关键。
当我们需要找该开发板芯片的哪个引脚功能时,需要看芯片手册,注意不是开发手册,开发指南这种,一般是全英的芯片手册,里面只表述芯片的所有信息,并不会表述你买开发板的其他信息,如各种外设等,这是不会提及的。不要看错,打开错芯片手册。(STM32F407ZGT6,STMF4xx中文参考手册)
更多推荐
stm32F407ZGT6端口复用
发布评论