请大家帮忙看看UART4配置有什么问题吗?

2019-07-21 03:45发布

照如下配置,只能发送数据却不能接收数据,请大虾帮忙看看配置上有什么问题吗?
[mw_shl_code=c,true]GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体 USART_InitTypeDef USART_InitStructure; //定义USART初始化结构体 /*时钟配置不需要配置AFIO 只要配置为复用功能即可*/ GPIO_PinAFConfig(GPIOC,GPIO_PinSource10,GPIO_AF_UART4); //配置PA9复用连接到USART1 GPIO_PinAFConfig(GPIOC,GPIO_PinSource11,GPIO_AF_UART4); //配置PA10复用连接到USART1 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10; //设置初始化GPIO为PIN9 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//设置GPIO的速度为50MHz GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//设置GPIO模式为复用模式 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//设置GPIO输出类型为推挽输出 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //设置GPIO为连接上拉电阻 GPIO_Init(GPIOC,&GPIO_InitStructure); //初始化GPIOA的PIN9 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11; //设置初始化GPIO为PIN10 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF; //设置GPIO的模式为复用模式 GPIO_Init(GPIOC,&GPIO_InitStructure); //初始化GPIOA的PIN10 USART_InitStructure.USART_BaudRate=115200; //设置USART的波特率为19200 USART_InitStructure.USART_Parity=USART_Parity_No;//设置USART的校验位为None USART_InitStructure.USART_WordLength=USART_WordLength_8b; //设置USART的数据位为8bit USART_InitStructure.USART_StopBits=USART_StopBits_1; //设置USART的停止位为1 USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None; //失能硬件流控制 USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx; //设置USART的模式为发送接收模式 USART_Init(UART4, &USART_InitStructure); USART_ITConfig(UART4, USART_IT_RXNE, ENABLE); USART_Cmd(UART4, ENABLE);[/mw_shl_code]
[mw_shl_code=c,true] NVIC_InitStructure.NVIC_IRQChannel = UART4_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。