完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在这个while循环中,是怎么调用tcp_client_senddata()和tcp_client_recv()发送接收数据的?是要等到创建一个新的PCB?
while(res==0) { key=KEY_Scan(0); if(key==WKUP_PRES)break; if(key==KEY0_PRES)//KEY0按下了,发送数据 { tcp_client_flag|=1<<7;//标记要发送数据 } if(tcp_client_flag&1<<6)//是否收到数据? { LCD_Fill(30,230,lcddev.width-1,lcddev.height-1,WHITE);//清上一次数据 LCD_ShowString(30,230,lcddev.width-30,lcddev.height-230,16,tcp_client_recvbuf);//显示接收到的数据tcp_client_recvbuf tcp_client_flag&=~(1<<6);//标记数据已经被处理了. } if(tcp_client_flag&1<<5)//是否连接上? { if(connflag==0) { LCD_ShowString(30,190,lcddev.width-30,lcddev.height-190,16,"STATUS:Connected ");//提示消息 POINT_COLOR=RED; LCD_ShowString(30,210,lcddev.width-30,lcddev.height-190,16,"Receive Data:");//提示消息 POINT_COLOR=BLUE;//蓝色字体 connflag=1;//标记连接了 } }else if(connflag) { LCD_ShowString(30,190,190,16,16,"STATUSisconnected"); LCD_Fill(30,210,lcddev.width-1,lcddev.height-1,WHITE);//清屏 connflag=0; //标记连接断开了 } lwip_periodic_handle(); delay_ms(2); t++; if(t==200) { if(connflag==0&&(tcp_client_flag&1<<5)==0)//未连接上,则尝试重连 { tcp_client_connection_close(tcppcb,0);//关闭连接 tcppcb=tcp_new(); //创建一个新的pcb if(tcppcb) //创建成功 { tcp_connect(tcppcb,&rmtipaddr,TCP_CLIENT_PORT,tcp_client_connected);//连接到目的地址的指定端口上,当连接成功后回调tcp_client_connected()函数 } } t=0; LED0=!LED0; } } |
|
相关推荐
3个回答
|
|
这里是tcp_client_sentbuf函数的调用,这个函数里面有调用了tcp_client_senddata(tpcb,es)
|
|
|
|
我想知道,再上面tcp_client_test()这个while循环里,是怎么从哪里跳转出去进入tcp_client_poll()这个函数发数据的,是还有什么中断吗?我看到只有tcp_connect(tcppcb,&rmtipaddr,TCP_CLIENT_PORT,tcp_client_connected);这个函数可以进入发送数据的回调函数,在tcp_client_test()的while循环里没有找到其他进入发送函数的入口
|
|
|
|
tcp_client_test()里面的 tcppcb=tcp_new(); //创建一个新的pcb,tcp_new()在tcp.c下
struct tcp_pcb * tcp_new(void) { return tcp_alloc(TCP_PRIO_NORMAL); } 从这里进去tcp_alloc |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2543 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2331 浏览 5 评论
3156 浏览 3 评论
2801 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2759 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
608浏览 1评论
852浏览 0评论
965浏览 0评论
620浏览 0评论
447浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:58 , Processed in 1.274328 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号