各位好: 想请教个问题,我想问下STM32串口通信过程中,接收数据时如何能够判断已经接收完数据,我看例子上是这样写的
do { if((USART_GetFlagStatus(USART2, USART_FLAG_RXNE) != RESET) { RxBuffer[RxCounter++] = USART_ReceiveData(USART2); } }while(RxBuffer[RxCounter - 1] != '\r'); //就是判断最后一位是否是\r
第一,我用该方法,不能跳出该循环,因为我看了接收寄存器里最后一位是我发送的最后一个字节的数,不是\r; 第二,我想问一下有没有别的方法可以判断数据是否接收完(我试过判断USART_FLAG_RXNE是否非空作为While的条件,但是程序在执行完第一次接收后就跳出了While循环)
|