首先查芯片的参考手册,可以找到有关引脚的功能以及复用功能信息,如下图,可见PA9,PA10可复用做串口1USART1
使用的时候,首先,进行GPIO端口时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
然后复用外设时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
进行端口模式配置,使用GPIO_Init() 函数。
查询stm32中文参考手册,找到外设的GPIO设置
可见发送引脚和接受引脚在全双工模式下分别对GPIO的配置为推挽复用输出和浮空输入或带上拉输入。
总的来看按照如下流程
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);
//USART1_TX GPIOA.9
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//USART1_RX GPIOA.10³õʼ»¯
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
以上为复用的方法。在使用的时候还应对USART进行相应的配置。
本文依照正点原子stm32教程所写