/*USART1初始化*/ void USART1_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 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); USART_InitStructure.USART_BaudRate=9600; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_Init (USART1,&USART_InitStructure); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); /*Enables USART1 interrupts,USART_IT_RXNE: Receive Data register not empty interrupt */ USART_Cmd (USART1,ENABLE); NVIC_USART1_Configuration(); }
/******************************************************************************* * Function Name : usart_rxtx * Description : Print "Welcome to CooCox!" on Hyperterminal via USART1. * Input : None * Output : None * Return : None *******************************************************************************/ void usart_init(void) { NVIC_USART1_Configuration(); NVIC_USART2_Configuration(); USART_Configuration(); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); }