如图中所示,采用这种接收中断模式,每收到一个字节后就产生一个中断,存到队列中进行处理。 问题来了:调试过程中,发了一串数据(8个字节),在中断内设置断点,第一个字节收到后进入中断,点击继续运行后,剩余的7个字节接收不能触发中断了,这是啥原因呢????
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
{
USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);
RxBuffer2[RxCounter2++]=USART2->DR;
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//´®¿Ú2½ÓÊÕÖжÏʹÄÜ
}
if(RxCounter2==0xFF)
RxCounter2=0;
我在测试过程中,多次因为断点导致后面的数据丢失,处理办法是清除标志或者重新初始化接收。
好像是这样的,多谢