谢谢大家,同样的程序,因泡桐样例程序之后,工作正常了: // NVIC configration NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); // USART configuation USART_Config(); void USART_Config_USART1() { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; // Enable GPIO clock RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // Enable USART clock RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); // Configure USART Tx as alternate function GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &GPIO_InitStructure); // Configure USART Rx as alternate function GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &GPIO_InitStructure); // Config AF pin GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1); GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1); // Initialize USART 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_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1, &USART_InitStructure); // Enable USART USART_Cmd(USART1, ENABLE); #if defined(INNO_DEBUG) USART1_SendDataStrings("USART1 enabled! \n"); #endif // Initialize USART interrupt on NVIC NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0xF; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); #if defined(INNO_DEBUG) USART1_SendDataStrings("USART1 NVIC enabled! \n"); #endif // Enable USART interrupt USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); #if defined(INNO_DEBUG) USART1_SendDataStrings("USART1 IT_RXNE enabled! \n"); #endif //USART_ITConfig(USART1, USART_IT_TXE, ENABLE); #if defined(INNO_DEBUG) USART1_SendDataStrings("USART1 IT_TXE enabled! \n"); #endif } void USART_Config() { USART_Config_USART1(); #if defined(INNO_DEBUG) USART1_SendDataStrings("USART1 configuration finished! \n"); #endif #if defined(INNO_DEBUG) USART1_SendDataStrings("USART all configuration finished! \n"); #endif } it.c void USART1_IRQHandler(void) { uint16_t receiveData = 0; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) { receiveData = USART_ReceiveData(USART1); USART1_SendDataCharacter(receiveData); } } USART_GetITStatus && USART_ReceiveData USART_GetFlagStatus && USART_ReceiveData 软件流清标志位都可
所在话题
参与活动
-
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
线下 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
网络 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
网络 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
网络 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
线下 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
线下 2020-10-16