OpenEdv-开源电子网

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

请问我的LWIP 分包发送数据逻辑是否正确?还望指正!

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2020-2-10
在线时间
15 小时
发表于 2020-2-12 22:17:39 | 显示全部楼层 |阅读模式
1金钱
需要将数组Date[100][1024]中的数据发送出去;
每一个数据的大小为2字节;
array_rows为数组行数、array_columns_twice为数组列数的两倍;

err_t tcp_server_usersent(struct tcp_pcb *tpcb)
{
     err_t ret_err;
     struct tcp_server_struct *es;
     es=tpcb->callback_arg;
     if(es!=NULL)   //连接处于空闲可以发送数据
     {
         for(i=0,i<array_rows,i++)
         {
             es->p=pbuf_alloc(PBUF_TRANSPORT, array_columns_twice,PBUF_POOL);//申请内存,一个数据为两字节
             pbuf_take(es->p,&Date[i][0],array_columns_twice);                                       //把需要发送的数据copy到es->p_tx中
             tcp_server_senddata(tpcb,es);                                                                         //发送数据
             tcp_server_flag&=~(1<<7);                                                                            //清除发送标志
             if(es->p!=NULL)
          {
             pbuf_free(es->p);                       //释放内存
           }
       }
      ret_err=ERR_OK;
      }
     else
     {
      tcp_abort(tpcb);                               //终止连接,删除pcb控制块
      ret_err=ERR_ABRT;
      return ret_err;
     }
}

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2020-5-11 01:11:34 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 17:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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