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