完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
板子使用udp参考代码,然后网线连接pc通讯,使用tcpudp工具。
发现:pc这边要使用服务器模式!为什么??然后是pc这边发送请求过去。不是应该是客户端先发送请求么??? 然后,还有一个问题,如果让板子作为发送请求端(客户端还是服务端?已经搞不清楚了),请教一下要怎么写? 贴下板子的代码 void main() { uint8 pc_ip[4]={192,168,1,104};/*配置服务器的IP地址*/ uint16 pc_port=6001;/*定义计算机的一个端口并初始化*/ uint16 len=0; uint8 rIP[4]; uint16 rPort; uint8 mac[6]={0x00,0x08,0xdc,0x11,0x11,0x11};/*定义Mac变量*/ uint8 lip[4]={192,168,1,111};/*定义lp变量*/ uint8 sub[4]={255,255,255,0};/*定义subnet变量*/ uint8 gw[4]={192,168,1,1};/*定义gateway变量*/ uint8 ip[4]; uint8 test[10] = "test"; uint32 counter=0; RCC_Configuration(); /* 配置单片机系统时钟*/ GPIO_Configuration();/* 配置GPIO*/ NVIC_Configuration();/* 配置嵌套中断向量*/ Systick_Init(72);/* 初始化Systick工作时钟*/ USART1_Init(); /*初始化串口通信:115200@8-n-1*/ at24c16_init();/*初始化eeprom*/ printf("W5500 EVB initialization over.rn"); Reset_W5500();/*硬重启W5500*/ WIZ_SPI_Init();/*初始化SPI接口*/ printf("W5500 initialized!rn"); setSHAR(mac);/*配置Mac地址*/ setSUBR(sub);/*配置子网掩码*/ setGAR(gw);/*配置默认网关*/ setSIPR(lip);/*配置Ip地址*/ //Init. TX & RX Memory size of w5500 sysinit(txsize, rxsize); /*初始化8个socket*/ setRTR(2000);/*设置溢出时间值*/ setRCR(3);/*设置最大重新发送次数*/ getSIPR (ip); printf("IP : %d.%d.%d.%drn", ip[0],ip[1],ip[2],ip[3]); getSUBR(ip); printf("SN : %d.%d.%d.%drn", ip[0],ip[1],ip[2],ip[3]); getGAR(ip); printf("GW : %d.%d.%d.%drn", ip[0],ip[1],ip[2],ip[3]); printf("Network is ready.rn"); while(1) { switch(getSn_SR(0))/*获取socket 0的状态*/ { case SOCK_UDP:/*socket 的套接字初始化完成*/ //setSn_IR(0, Sn_IR_RECV); counter++; //sprintf(test, "test:%03drn", counter); //sendto(0, test,10, pc_ip, pc_port); //Delay_ms(100); if(getSn_IR(0) & Sn_IR_RECV) { setSn_IR(0, Sn_IR_RECV);/*Sn_IR的第0位置1*/ } if((len=getSn_RX_RSR(0))>0) { //recvfrom(0, buffer, len, pc_ip,&pc_port);/*W5200接收计算机发送来的数据*/ recvfrom(0, buffer, len, rIP,&rPort); printf("%d.%d.%d.%d:%d", rIP[0],rIP[1],rIP[2],rIP[3],rPort); sendto(0, buffer,len, pc_ip, pc_port);/*W5200把接收到的数据发送给计算机*/ } break; case SOCK_CLOSED:/*socket 关闭*/ socket(0,Sn_MR_UDP,30000,0);/*初始化socket 0的套接字*/ break; } } } |
|
相关推荐
1个回答
|
|
同样请求
|
|
|
|
只有小组成员才能发言,加入小组>>
489个成员聚集在这个小组
加入小组5120 浏览 1 评论
12219 浏览 5 评论
3530 浏览 2 评论
2985 浏览 0 评论
12787 浏览 2 评论
w5500 作为tcp server,客户端异常发送【RST,ACK】断开连接问题
2372浏览 1评论
1159浏览 0评论
使用stm32,通过spi的dma 收发,运行多次读写以后w5500发送正常,接收卡死,高人帮忙看看
6440浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 12:30 , Processed in 0.503570 second(s), Total 81, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号