# TCP协议栈 **Repository Path**: eleluq1234/tcp-stack ## Basic Information - **Project Name**: TCP协议栈 - **Description**: 在单片机上运行的协议栈 支持udp icmp tcp等常用功能 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2023-03-17 - **Last Updated**: 2023-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 实验器材: 战舰STM32F103开发板V3版本 实验目的: 学习DM9000的使用,利用STM32的FSMC驱动DM9000,并结合LWIP,学习网络通信. 硬件资源: 1,DS0(连接在PB5) 2,串口1(波特率:115200,PA9/PA10连接在板载USB转串口芯片CH340上面) 3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模块(通过FSMC驱动,FSMC_NE4接LCD片选/A10接RS) 4,按键KEY0(PE4)/KEY1(PE3)/KEY2(PE2)/KEY_UP(PA0,也称之为WK_UP) 5,DM9000(通过FSMC驱动,FSMC_NE2接DM9000) 实验现象: 开机后,程序初始化LWIP,包括:初始化DM9000、申请内存、开启DHCP服务、添加并打开网卡,然后等待 DHCP获取IP成功,当DHCP获取成功后,将在LCD屏幕上显示DHCP得到的IP地址,如果DHCP获取失败,那么将 使用静态IP(固定为:192.168.1.30),然后开启Web Server服务,并进入主循环,等待按键输入选择需要 测试的功能: KEY0按键,用于选择TCP Server测试功能。 KEY1按键,用于选择TCP Client测试功能 KEY2按键,用于选择UDP测试功能 TCP Server测试的时候,直接使用DHCP获取到的IP(DHCP失败,则使用静态IP)作为服务器地址,端口号固定 为:8088。在电脑端,可以使用网络调试助手(TCP Client模式)连接开发板,连接成功后,屏幕显示连接上 的Client的IP地址,此时便可以互相发送数据了。按KEY0发送数据给电脑,电脑端发送过来的数据将会显示在 LCD屏幕上。按KEY_UP可以退出TCP Server测试。 TCP Client测试的时候,先通过KEY0/KEY2来设置远端IP地址(Server的IP),端口号固定为:8087。设置好 之后哦,通过KEY_UP确认,随后,开发板会不断尝试连接到所设置的远端IP地址(端口:8087),此时我们需 要在电脑端使用网络调试助手(TCP Server模式),设置端口为:8087,开启TCP Server服务,等待开发板连接。 当连接成功后,测试方法同TCP Server测试的方法一样。 UDP测试的时候,同TCP Client测试几乎一模一样,先通过KEY0/KEY2设置远端IP地址(电脑端的IP),端口号 固定为:8089,然后按KEY_UP确认。电脑端使用网络调试助手(UDP模式),设置端口为:8089,开启UDP服务。 不过对于UDP通信,我们得先按开发板KEY0,发送一次数据给电脑,随后才可以电脑发送数据给开发板,实现数 据互发。按KEY_UP可以退出UDP测试。 Web Server的测试相对简单,只需要在浏览器端输入开发板的IP地址(DHCP获取到的IP地址或者DHCP失败时使用 的静态IP地址),即可登录一个Web界面,在Web界面,可以实现对DS1(LED1)的控制、蜂鸣器的控制、查看ADC1 通道5的值、内部温度传感器温度值以及查看RTC时间和日期等。 DS0用于提示程序正在运行。 注意事项: 1,4.3寸和7寸屏需要比较大电流,USB供电可能不足,请用外部电源适配器(推荐外接12V 1A电源). 2,本例程在LCD_Init函数里面(在ILI93xx.c),用到了printf,如果不初始化串口1,将导致液晶无法显示!! 3,本实验需要自备网线一根。 4,对于有路由器的用户,直接用网线连接路由器,同时电脑也连接路由器,即可完成电脑与开发板的连接设置。 5,对于没有路由器的用户,则直接用网线连接电脑的网口,然后设置电脑的本地连接属性(IPv4)为:使用固定的IP 地址,IP设置为:192.168.1.XXX,XXX不能为1和30;子网掩码为:255.255.255.0;默认网关为:192.168.1.1; DNS不用设置。 6,连接成功,并下载代码后,可以通过ping开发板液晶显示的IP地址,来检查连接是否正常,之后再开始其他测试。 正点原子@ALIENTEK 广州市星翼电子科技有限公司 电话:020-38271790 传真:020-36773971 购买:http://eboard.taobao.com 公司网站:www.alientek.com 技术论坛:www.openedv.com