完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
例程下载:
资料包括程序、相关说明资料以及软件使用截图 链接:http://pan.baidu.com/s/1i574oPv 密码:r3s3 (硬石YS-F1Pro开发板HAL库例程持续更新1. 软件设计之基本裸机例程(HAL库版本)YSF1_HAL-064. 以太网-W5500) 基于W5500的11个应用例程 2. DHCP 3. TCP Server 4. TCP Client 5. UDP 6. DNS 7. SMTP 8. HTTP Server 9. HTTP Client 10. NetBios 11. NTP 12. ping 评分
|
||
相关推荐
|
||
【1】例程简介
W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接 方案.使用硬件逻辑门电路实现 TCP/IP 协议栈的传输层及网络层(如: TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE 等协议),并集成了数据链路层,物理层,以及 32K 字节片上 RAM 作为数据 收发缓存。使得上位机主控芯片,只需承担TCP/IP 应用层控制信息的处理任务。从而大大节省了上 位机对于数据复制、协议处理和中断处理等方面的工作量,提升了系统利用率及可靠性。 YS-F1Pro开发板上集成了W5500芯片,可以实现网络通信。 本例程实现W5500网络环境搭建,实现TCP通信,W5500网络作为TCP 服务器,建立侦听,PC作为 TCP Client建立连接。 【2】跳线帽情况 ******* 为保证例程正常运行,必须插入以下跳线帽 ********** 丝印编号 IO端口 目标功能引脚 出厂默认设置 JP1 PA10 TXD(CH340G) 已接入 JP2 PA9 RXD(CH340G) 已接入 JP8 PF9 INTn(W5500) 已接入 JP9 PF11 SCSn(W5500) 已接入 【3】操作及现象 使用网线接入YS-F1Pro开发板右上方网口,连接至路由器;使用开发板配套的MINI USB线连接到开发 板标示“调试串口”字样的MIMI USB接口(需要安装驱动),在电脑端打开串口调试助手工具,设置 参数为115200 8-N-1。根据自己网络环境设置w5500_conf.c文件中相关参数,编译程序并下载,等下 载完程序之后,在串口调试助手窗口可接收到信息。打开网络调试助手,设置为TCP Client类型,服务 器IP地址和端口根据串口打印信息设置,然后连接开发板TCP Server,然后可以在发送窗口输入发送 数据;发送之后,在串口调试助手会打印接收到的数据并且会回传到网络通信助手。 |
|
|
|
|
|
tcp_demo.c文件内容
/** ************************************************************************************************ * @file tcp_demo.c * @author WIZnet Software Team * @version V1.0 * @date 2015-02-14 * @brief TCP 演示函数 * @attention ************************************************************************************************ **/ #include #include #include "Ethernet/Internet/tcp_demo.h" #include "Ethernet/W5500/W5500_conf.h" #include "Ethernet/W5500/w5500.h" #include "Ethernet/W5500/socket.h" uint8 buff[2048]; /*定义一个2KB的缓存*/ /** *@brief TCP Server回环演示函数。 *@param 无 *@Return 无 */ void do_tcp_server(void) { uint16 len=0; switch(getSn_SR(SOCK_TCPS)) /*获取socket的状态*/ { case SOCK_CLOSED: /*socket处于关闭状态*/ socket(SOCK_TCPS ,Sn_MR_TCP,local_port,Sn_MR_ND); /*打开socket*/ break; case SOCK_INIT: /*socket已初始化状态*/ listen(SOCK_TCPS); /*socket建立监听*/ break; case SOCK_ESTABLISHED: /*socket处于连接建立状态*/ if(getSn_IR(SOCK_TCPS) & Sn_IR_CON) { setSn_IR(SOCK_TCPS, Sn_IR_CON); /*清除接收中断标志位*/ } len=getSn_RX_RSR(SOCK_TCPS); /*定义len为已接收数据的长度*/ if(len>0) { recv(SOCK_TCPS,buff,len); /*接收来自Client的数据*/ buff[len]=0x00; /*添加字符串结束符*/ printf("%srn",buff); send(SOCK_TCPS,buff,len); /*向Client发送数据*/ } break; case SOCK_CLOSE_WAIT: /*socket处于等待关闭状态*/ close(SOCK_TCPS); break; } } /** *@brief TCP Client回环演示函数。 *@param 无 *@return 无 */ void do_tcp_client(void) { uint16 len=0; switch(getSn_SR(SOCK_TCPC)) /*获取socket的状态*/ { case SOCK_CLOSED: /*socket处于关闭状态*/ socket(SOCK_TCPC,Sn_MR_TCP,local_port++,Sn_MR_ND); break; case SOCK_INIT: /*socket处于初始化状态*/ connect(SOCK_TCPC,remote_ip,remote_port); /*socket连接服务器*/ break; case SOCK_ESTABLISHED: /*socket处于连接建立状态*/ if(getSn_IR(SOCK_TCPC) & Sn_IR_CON) { setSn_IR(SOCK_TCPC, Sn_IR_CON); /*清除接收中断标志位*/ } len=getSn_RX_RSR(SOCK_TCPC); /*定义len为已接收数据的长度*/ if(len>0) { recv(SOCK_TCPC,buff,len); /*接收来自Server的数据*/ buff[len]=0x00; /*添加字符串结束符*/ printf("%srn",buff); send(SOCK_TCPC,buff,len); /*向Server发送数据*/ } break; case SOCK_CLOSE_WAIT: /*socket处于等待关闭状态*/ close(SOCK_TCPC); break; } } |
|
|
|
|
|
666666666好
学习了 |
|
|
|
|
|
7 浏览 0 评论
26 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
13 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
644 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1000 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11770 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 08:18 , Processed in 0.797649 second(s), Total 95, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号