修改TCP客户端程序,接收数据不正常 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 167|回复: 3

[未解决] 修改TCP客户端程序,接收数据不正常

[复制链接]

6

主题

18

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
发表于 2018-1-18 16:44:05 | 显示全部楼层 |阅读模式
我修改了TCP客户端程序用来接收数据,但是每次的情况都是:
用recvnc函数  接收了数据头 和 1460个数据以后i = (int)recvnc(s, (void **)&pBuf, 0, &hBuffer);返回值i 一直都是 -1,这是为什么呢?

//接收数据头
if(head_flag==1)
{
             i = (int)recvnc(s, (void **)&pBuf, 0, &hBuffer);
             if(i==132)//data head
             {                    
                    if(i > 0)
                    {
                        for(iii=0;iii<32;iii++)
                        {
                            head[iii]=*pBuf;
                            pBuf = pBuf+1;
                        }
                        write_data.sec  = head[3]<<24|head[2]<<16|head[1]<<8|head[0];
                        write_data.min = head[7]<<24|head[6]<<16|head[5]<<8|head[4];
                        write_data.hour  = head[11]<<24|head[10]<<16|head[9]<<8|head[8];
                        write_data.day   = head[15]<<24|head[14]<<16|head[13]<<8|head[12];
                        write_data.month  = head[19]<<24|head[18]<<16|head[17]<<8|head[16];
                        write_data.year = head[23]<<24|head[22]<<16|head[21]<<8|head[20];
                   
                        pBuf = pBuf+12;

                        for(iii=44;iii<68;iii++)
                        {
                            head[iii]=*pBuf;
                            pBuf = pBuf+1;
                        }
                        recvncfree(hBuffer);
                        head_flag = 0;
                     }
                }

            }
//接收数据
for(ii=0;ii<6;ii++)
{
            j = (int)recvnc(s, (void **)&pBuf, 0, &hBuffer);

              if(j > 0)
               {
                     for(fff=0;fff<current_i;fff++)
                     {
                           g_buffer[ii].d_buffer[fff]=*pBuf;
                            pBuf = pBuf+1;
                     }                    
            }
               else
              {
                     SD_write = 0;
                        //break;
               }             
                    recvncfree(hBuffer);               
}






我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励0 , 目前已有3人回答
最近访问 头像模式 列表模式
回复

使用道具 举报

12

主题

92

帖子

457

积分

广州创龙

Rank: 8Rank: 8

积分
457
发表于 2018-1-19 16:22:00 | 显示全部楼层
nin您好,我们提供的例程,经过测试,配合上位机程序,都是可以正常发送和接收内容的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

6

主题

18

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
 楼主| 发表于 2018-1-21 15:50:13 | 显示全部楼层
广州创龙廖工 发表于 2018-1-19 16:22
nin您好,我们提供的例程,经过测试,配合上位机程序,都是可以正常发送和接收内容的。 ...

我不是在单讨论例程了,我是修改程序接收别的数据,数据量比较大,例程就是只适合一包一包的数据收发。
回复 支持 反对

使用道具 举报

3

主题

12

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
发表于 2018-1-23 15:04:12 | 显示全部楼层
我最近也在学习6748,能加个QQ我们交流下吗, 1455972026
回复 支持 反对

使用道具 举报

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

本版积分规则  回帖提醒

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号-1  

GMT+8, 2018-2-23 08:14 , Processed in 0.327873 second(s), 44 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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