小学生
最后登录1970-1-1
在线时间 小时
注册时间2017-10-31
|
楼主 |
发表于 2017-11-1 10:19:18
|
显示全部楼层
//LWIP数据发送,用户应用程序调用此函数来发送数据
//tpcb:TCP控制块
//返回值:0,成功;其他,失败
const u8 *tcp_server_sendbuf="Apollo STM32F4/F7 TCP Server send data\r\n";
u8 tcp_server_flag;
err_t tcp_server_usersent(struct tcp_pcb *tpcb)
{
err_t ret_err;
struct tcp_echoserver_struct *es;
es=tpcb->callback_arg;
if(es!=NULL) //连接处于空闲可以发送数据
{
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_sentbuf[]中的数据拷贝到es->p_tx中
tcp_echoserver_send(tpcb,es); //将tcp_server_sentbuf[]里面复制给pbuf的数据发送出去
tcp_server_flag&=~(1<<7); //清除数据发送标志
if(es->p!=NULL)pbuf_free(es->p);//释放内存
ret_err=ERR_OK;
}
return ret_err;
}
void send(void)
{
tcp_server_usersent(tcp_echoserver_pcb);
}
我抄来的,复制进去也不行发送数据。求解答 |
|