STM32学习笔记 串口通信

void USART_Init(u32 bound)
{
 GPIO_InitTypeDef GPIO_InitStructure;
 UART_InitTypeDef UART_InitStructure;
 NVIC_InitTypeDef NVIC_InitStructure;

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_UART1|RCC_APB2Pe  riph_GPIOA,ENABLE);
 UART_DeInit(UART1);

 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);

 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
 GPIO_Init(&GPIOA,GPIO_InitStructure);

 NVIC_InitStructure.NVIC_IRQChannel=UART1_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
 NVIV_Init(&NVIC_InitStructure);

 UART_InitSrtucture.UART_BoundRate=bound;
 UART_InitStructure.UART_WordLength=UART_WordLength_8b;
 UART_InitStructure.UART_StopBits=UART_StopBits_1;
 UART_InitStructure.UART_Parity=UART_Parity_No;
 UART_InitStructure.UART_HardwareFlowConrtol=UART_HardwareFlowConrtol_None;
 UART_InitStructure.UART_Mode=UART_Mode_Rx|UART_Mode_Tx;

 UART_Init(UART1,&UART_InitStructure);
 UART_ITConfig(UART1,UART_IT_RXNE,ENABLE);
 UART_Cmd(UART1,ENABLE);
}
void USART_Init(u32 bound)
{
 GPIO_InitTypeDef GPIO_InitStructure;
 UART_InitTypeDef UART_InitStructure;
 NVIC_InitTypeDef NVIC_InitStructure;

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_UART1|RCC_APB2Pe  riph_GPIOA,ENABLE);
 UART_DeInit(UART1);

 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);

 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
 GPIO_Init(&GPIOA,GPIO_InitStructure);

 NVIC_InitStructure.NVIC_IRQChannel=UART1_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
 NVIV_Init(&NVIC_InitStructure);

 UART_InitSrtucture.UART_BoundRate=bound;
 UART_InitStructure.UART_WordLength=UART_WordLength_8b;
 UART_InitStructure.UART_StopBits=UART_StopBits_1;
 UART_InitStructure.UART_Parity=UART_Parity_No;
 UART_InitStructure.UART_HardwareFlowConrtol=UART_HardwareFlowConrtol_None;
 UART_InitStructure.UART_Mode=UART_Mode_Rx|UART_Mode_Tx;

 UART_Init(UART1,&UART_InitStructure);
 UART_ITConfig(UART1,UART_IT_RXNE,ENABLE);
 UART_Cmd(UART1,ENABLE);
}

猜你喜欢

转载自blog.csdn.net/guiwukejiBGG/article/details/81006260