将 Rx 配置为:浮空输入模式,Tx 配置为带上拉的第二功模式。并用 GPIO_Init() 函数初始化。如:/*...
ENABLE); //使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1时钟//串口1对应引脚复用映射GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9复用为USART1GPIO_PinAFConfig(GPIOA
//Serial.c #include "stm32f10x.h" // Device header //老样子根据基本结构图打通: //1、开启时钟,打开USART和GPIO时钟都打开 //2、GPIO初始化,把TX配置成复用输出,RX配置为输入(本代码没用到接收功能) //3、配置USART,使用一个结构体即可配置所有相关参数 //4、如果只需要发送功能,直接开启USART初始化...
2.GPIO配置:配置相关的GPIO引脚,将其设置为USART的TX(发送)和RX(接收)功能。此外,还需要配置引脚的模式(输入/输出)、速率、上拉/下拉等参数。代码示例:GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;// 接收设置输入浮空模式GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;3.USART参数配置:配置...
GPIO_PuPd_UP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;/* 配置Tx引脚为复用功能 */GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;GPIO_InitStructure.GPIO_Pin=DEBUG_USART_TX_PIN;GPIO_Init(DEBUG_USART_TX_GPIO_PORT,&GPIO_InitStructure);/* 配置Rx引脚为复用功能 */GPIO_InitStructure.GPIO_Mode=GPIO...
GPIO_AF_Set(GPIOA,10,7); //PA10,AF7 //波特率设置 USART1->BRR=mantissa; // 波特率设置 USART1->CR1&=~(1<<15); //设置 OVER8=0 USART1->CR1|=1<<3; //串口发送使能 #if EN_USART1_RX //如果使能了接收 //使能接收中断 USART1->CR1|=1<<2; //串口接收使能 USART1->CR1|=1<...
GPIO的属性包含在结构体GPIO_InitTypeDef,其中对于TX引脚,GPIO_Mode字段设置为GPIO_Mode_AF_PP(复用推挽输出),GPIO_Speed切换速率设置为GPIO_Speed_50MHz;对于RX引脚,GPIO_Mode字段设置为GPIO_Mode_IN_FLOATING(浮空输入),不需要设置切换速率。最后通过GPIO_Init()使能IO口。
③GPIO端口模式设置:GPIO _Init(); 模式设置为GPIO_Mode_ AF ④串口参数初始化:USART_ Init(); ⑤开启中断并且初始化NVIC ( 如果需要开启中断才需要这个步骤) NVIC_ Init(); USART_ITConfig(); ⑥使能串口:USART_Cmd(); ⑦编写中断处理函数:USARTX_ IRQHandler(); ...
1、串口的配置过程一配置串口用到的IO口:Rx浮空输入Tx复用推挽输出注意:具体配置如下/GPIOA.9/10用于串口通信/设定GPIOA.9(USART.Tx为复用推挽输出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...