用stm32f103rct6单片机写的W5500为TCP 服务器与电脑之间的数据互发,通过串口调试助手发一个数据,网络调试助手接收并显示,通过网络调试助手发数据,串口调试助手接收并显示
单片机源程序如下:
- /**
- ******************************************************************************
- * @file main.c
- * @version V1.2
- * @brief 用3.5.0版本库建的工程模板
- * @attention 内网测试,请保证W5500的IP与测试PC机在同一网段内,且不冲突
- * 如果是用网线跟PC机直连,请设置PC机本地连接地址IP为静态IP
- *
- * @company 林哈哈
- * @information
- * @website
- * @forum
- * @qqGroup
- ******************************************************************************
- */
- /*W5500接STM32的 SPI1硬件接线定义*/
- // W5500_SCS ---> STM32_GPIOA4 /*W5500的片选管脚*/
- // W5500_SCLK ---> STM32_GPIOA5 /*W5500的时钟管脚*/
- // W5500_MISO ---> STM32_GPIOA6 /*W5500的MISO管脚*/
- // W5500_MOSI ---> STM32_GPIOA7 /*W5500的MOSI管脚*/
- // W5500_RESET ---> STM32_GPIOC0 /*W5500的RESET管脚*/
- // W5500_INT ---> STM32_GPIOC1 /*W5500的INT管脚*/
- /*W5500接STM32的 SPI2硬件接线定义*/
- // W5500_SCS ---> STM32_GPIOB12 /*W5500的片选管脚*/
- // W5500_SCLK ---> STM32_GPIOB13 /*W5500的时钟管脚*/
- // W5500_MISO ---> STM32_GPIOB14 /*W5500的MISO管脚*/
- // W5500_MOSI ---> STM32_GPIOB15 /*W5500的MOSI管脚*/
- // W5500_RESET ---> STM32_GPIOB9 /*W5500的RESET管脚*/
- // W5500_INT ---> STM32_GPIOC6 /*W5500的INT管脚*/
- #include <stdio.h>
- #include <string.h>
- #include "stm32f10x.h"
- #include "bsp_usart1.h"
- #include "bsp_i2c_ee.h"
- #include "bsp_i2c_gpio.h"
- #include "w5500.h"
- #include "W5500_conf.h"
- #include "socket.h"
- #include "utility.h"
- #include "tcp_demo.h"
- #include "bsp_TiMbase.h"
- #include "bsp_led.h"
- int main(void)
- {
- TIM3_Int_Init(999,71);
- USART1_Initialise(115200);
- systick_init(72); /*初始化Systick工作时钟*/
- //// USART1_Config(); /*初始化串口通信:115200@8-n-1*/
- i2c_CfgGpio(); /*初始化eeprom*/
- //
- printf(" 林哈哈的实验!\r\n");
- printf(" 嘻嘻哈哈 V1.2 \r\n");
-
- gpio_for_w5500_config(); /*初始化MCU相关引脚*/
- reset_w5500(); /*硬复位W5500*/
- PHY_check(); /*检查网线是否接入*/
- set_w5500_mac(); /*配置MAC地址*/
- set_w5500_ip(); /*配置IP地址*/
- socket_buf_init(txsize, rxsize); /*初始化8个Socket的发送接收缓存大小*/
-
- printf(" W5500为TCP 服务器,建立侦听,等待PC作为TCP Client建立连接 \r\n");
- printf(" W5500监听端口为: %d \r\n",local_port);
- printf(" 连接成功后,TCP Client发送数据给W5500,W5500将返回对应数据 \r\n");
-
- while(1) /*循环执行的函数*/
- {
- do_tcp_server(); /*TCP_Server 数据回环测试程序*/
- jg();
- }
-
- }
复制代码
所有资料51hei提供下载:
2.TCP Server - 互发.7z
(234.5 KB, 下载次数: 184)
|