用GPRS接收服务器传来的数据时,为什么只能接收一部分数据,无论怎么改都接受不全,求各位大佬帮帮忙

2019-07-21 05:02发布

如题所说,服务器的数据前缀名是:serdata:,程序是检测接收到的数据中是否存在前缀字符串,是就认为是服务器数据,采用stm32mini的串口2进行接收,但是总是只能接收到一部分数据,例如:服务器发来得到数据是:serdata:1,200;但是我打印串口接收到的数据总是serdata:1;后面的200接收不到,不知道什么原因,也不会是缓存的问题,因为我之前前缀名是server data:,也是只能够接收到冒号后面一个数据,串口接收程序如下:
void USART2_IRQHandler(void)
{
        u8 Res=0;
        while(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET)
  {
          Res = USART_ReceiveData(USART2);
          Uart2_Buf[First_Int] = Res;            //½«½óêÕμ½μÄ×Ö·û′®′æμ½»o′æÖD
          First_Int++;                          //»o′æÖ¸ÕëÏòoóòƶˉ
          if(First_Int > Buf2_Max)                 //èç1û»o′æÂú,½«»o′æÖ¸ÕëÖ¸Ïò»o′æμÄê×μØÖ·
          {
                First_Int = 0;
          }
               
  }
        if(Find("serdata:"))
        {
                //printf("shoudao");
                strcpy(temp,Uart2_Buf);
                //temp[i++]=Uart2_Buf[First_Int];
                //printf("%c",temp[i]);
                printf("%s",temp);
        }
       
}       

0条回答

一周热门 更多>