完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
设置UDP模式,socket接收和发送设置2k,使用网络调试助手,单次发送数据<=1472个,通讯正常,单次发送>1472个字节,W5500接收不到数据。比如我单次发送1473个字节,上位机应该是分成2帧发送,还是说现在的网卡一帧数据可以大于1472个??
|
|
相关推荐
4 个讨论
|
|
我用Microsoft Network Monitor监控,w5500发送数据大于1472的时候,分两帧发送。网络调试助手发送数据大于1472时,在线调试数据长度len=0;有知道原因的么?按理说上位机应该自动将大于1472,分成多个帧
switch(getSn_SR(0)) /*»ñÈ¡socketµÄ״̬*/ { case SOCK_CLOSED: /*socket´¦ÓڹرÕ״̬*/ socket(0,Sn_MR_UDP,local_port,0); /*³õʼ»¯socket*/ break; case SOCK_UDP: /*socket³õʼ»¯Íê³É*/ // Delay_ms(10); if(getSn_IR(0) & Sn_IR_RECV) { setSn_IR(0, Sn_IR_RECV); /*Çå½ÓÊÕÖжÏ*/ } if((len=getSn_RX_RSR(0))>0) /*½ÓÊÕµ½Êý¾Ý*/ { GPIO_SetBits(GPIOC, GPIO_Pin_7); recvfrom(0,buff, len, remote_ip,&remote_port); /*W5500½ÓÊÕ¼ÆËã»ú·¢ËÍÀ´µÄÊý¾Ý*/ for(i=0;i<200;i++) XT9822Dat=(buff[3*i]<<16)+(buff[3*i+1]<<8)+buff[3*i+2]; XT9822_SetAll(); GPIO_ResetBits(GPIOC, GPIO_Pin_7); // buff[len-8]=0x00; /*Ìí¼Ó×Ö·û´®½áÊø·û*/ // printf("%srn",buff); /*´òÓ¡½ÓÊÕ»º´æ*/ sendto(0,buff,len-8, remote_ip, remote_port); /*W5500°Ñ½ÓÊÕµ½µÄÊý¾Ý·¢Ë͸øRemote*/ } break; } |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
410个成员聚集在这个小组
加入小组4950 浏览 1 评论
11247 浏览 5 评论
3302 浏览 2 评论
2803 浏览 0 评论
11912 浏览 2 评论
387浏览 0评论
使用stm32,通过spi的dma 收发,运行多次读写以后w5500发送正常,接收卡死,高人帮忙看看
2843浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 20:01 , Processed in 0.702697 second(s), Total 77, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号