串口接收函数全是"?"请问是怎么回事?

2019-07-21 00:30发布

 请教大家一个问题,在调STM32F407的串口4,接收到的数据全是?,请问怎么回事?用的是原子的程序改的 
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
1201yuge
2019-07-21 08:34
建议把串口的接收中断改成简单的试试:
void USART6_IRQHandler(void)                        //串口1中断服务程序
{
        u8 Res;
#ifdef OS_TICKS_PER_SEC                 //如果时钟节拍数定义了,说明要使用ucosII了.
        OSIntEnter();   
#endif
        if(USART_GetITStatus(USART6, USART_IT_RXNE) != RESET)  //接收中断(接收到的数据必须是0x0d 0x0a结尾)
        {
                Res =USART_ReceiveData(USART6);//(USART1->DR);        //读取接收到的数据
                send(Res);
                   
  }
#ifdef OS_TICKS_PER_SEC                 //如果时钟节拍数定义了,说明要使用ucosII了.
        OSIntExit();                                                                                           
#endif
}

一周热门 更多>