void USART2_Receive_Message(void)
{
u16 remain;
u16 avail = RX_SIZE - RxLen_Buf2;
u16 count = RR_SIZE - DMA_GetCurrDataCounter(DMA1_Channel6);
if (count == RxPtr_Ring2 || avail == 0)
{
return;
}
if (count > RxPtr_Ring2)
{
remain = count - RxPtr_Ring2;
if (avail >= remain)
{
memcpy(&Rx_Buf2[RxLen_Buf2], &Rx_Ring2[RxPtr_Ring2], remain);
RxPtr_Ring2 = count;
RxLen_Buf2 = RxLen_Buf2 + remain;
}
else
{
memcpy(&Rx_Buf2[RxLen_Buf2], &Rx_Ring2[RxPtr_Ring2], avail);
RxPtr_Ring2 = RxPtr_Ring2 + avail;
RxLen_Buf2 = RxLen_Buf
{
u16 remain;
u16 avail = RX_SIZE - RxLen_Buf2;
u16 count = RR_SIZE - DMA_GetCurrDataCounter(DMA1_Channel6);
if (count == RxPtr_Ring2 || avail == 0)
{
return;
}
if (count > RxPtr_Ring2)
{
remain = count - RxPtr_Ring2;
if (avail >= remain)
{
memcpy(&Rx_Buf2[RxLen_Buf2], &Rx_Ring2[RxPtr_Ring2], remain);
RxPtr_Ring2 = count;
RxLen_Buf2 = RxLen_Buf2 + remain;
}
else
{
memcpy(&Rx_Buf2[RxLen_Buf2], &Rx_Ring2[RxPtr_Ring2], avail);
RxPtr_Ring2 = RxPtr_Ring2 + avail;
RxLen_Buf2 = RxLen_Buf