OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2003|回复: 0

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

[复制链接]

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2018-1-19
在线时间
19 小时
发表于 2019-2-23 09:45:42 | 显示全部楼层 |阅读模式
如题所说,服务器的数据前缀名是: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);
        }
       
}       

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 22:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表