串口通信,stm8发送数据,stm32接收数据,两个IC波特率,停止位等设置一样。现在stm8数据发送正常,stm32接收单个字节也正常,但如果连续发送数据,接收就不准确了,请问是什么原因?stm32中断接收程序如下:
void USART1_IRQHandler(void){
if(USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
bright = USART_ReceiveData(USART1);
}
/*溢出-如果发生溢出需要先读SR,再读DR寄存器 则可清除不断入中断的问题*/
if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)==SET)
{
USART_ClearFlag(USART1,USART_FLAG_ORE);
USART_ReceiveData(USART1);
}
}
|