串口接收数据不正确

2019-03-23 18:20发布

用自己写的上位机程序读传感器,收到的协议是正确的(7个字节 01 0D 3个数据字节 2个校验字节),但用stm32的串口3读出来的却是4个字节(与协议完全不对),没有发生溢出错误,使stm32与上位机通讯正常,这是什么原因呢??
  1. void USART3_IRQHandler(void)
  2. {               
  3. if(USART_GetITStatus(USART3,USART_IT_RXNE)==SET)                  
  4.         {
  5.                 Delay2(1);
  6.                 USART_ClearITPendingBit(USART3,USART_IT_RXNE);
  7.                 U3_ReceivedBuf[U3_flag++] = USART_ReceiveData(USART3);                         
  8.         }
  9.        
  10.         if(USART_GetFlagStatus(USART3,USART_FLAG_ORE)!=RESET)
  11.     {
  12.         USART_ClearFlag(USART3,USART_FLAG_ORE);    //?SR
  13.                 WriteString(165,80,"overflow",Red);       
  14.         }         
  15. }
复制代码

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。