OpenEdv-开源电子网

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

原子STM32程序 发送 数组字节 发送到 0X00时后面就没有了不知问题出在哪里请大家帮帮忙

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2019-9-24
在线时间
2 小时
发表于 2020-7-25 00:04:51 | 显示全部楼层 |阅读模式
u8 tcp_server_sendbuf[30] ={0X01,0X02,0X00,0X11,0X022};这是我发送的数据  只能收到 0X01和 0X02  遇到0X00就没有了
//lwIP tcp_err函数的回调函数
void tcp_server_error(void *arg,err_t err)
{  
LWIP_UNUSED_ARG(err);  
printf("tcp error:%x\r\n",(u32)arg);
if(arg!=NULL)mem_free(arg);//释放内存
}
//lwIP tcp_poll的回调函数
err_t tcp_server_poll(void *arg, struct tcp_pcb *tpcb)
{
err_t ret_err;
struct tcp_server_struct *es;
es=(struct tcp_server_struct *)arg;
if(es!=NULL)
{
  if(tcp_server_flag&(1<<7)) //判断是否有数据要发送
  {
   es->p=pbuf_alloc(PBUF_TRANSPORT,strlen((char*)tcp_server_sendbuf),PBUF_POOL);//申请内存
   pbuf_take(es->p,(char*)tcp_server_sendbuf,strlen((char*)tcp_server_sendbuf));
   tcp_server_senddata(tpcb,es);   //轮询的时候发送要发送的数据
   tcp_server_flag&=~(1<<7);     //清除数据发送标志位
   if(es->p!=NULL)pbuf_free(es->p);  //释放内存
  }else if(es->state==ES_TCPSERVER_CLOSING)//需要关闭连接?执行关闭操作
  {
   tcp_server_connection_close(tpcb,es);//关闭连接
  }
  ret_err=ERR_OK;
}else
{
  tcp_abort(tpcb);//终止连接,删除pcb控制块
  ret_err=ERR_ABRT;
}
return ret_err;
}
那位遇到过这样的问题或者怎样解决,帮帮忙
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-30 19:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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