设为首页
收藏本站
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
STM32/8
›
STM32使用DMA模式W5500作为tcp服务器源码
返回列表
发新帖
STM32使用DMA模式W5500作为tcp服务器源码
[复制链接]
2
|
0
|
2020-5-20 23:58:09
|
显示全部楼层
|
阅读模式
这个应用代码设置W5500为tcp服务器,PC作为tcp客户端来连接W5500,并通过简单的数据收发来验证连接是否成功。
完整源码:
STM32_DMA-W5500.rar
(384.08 KB, 售价: 1 工控币)
2020-5-20 23:57 上传
点击文件名下载附件
包含文件目录
============
stm32f10x_conf.h 配置库文件
stm32f10x_it.c 中断头文件
stm32f10x_it.h stm32f10x_it.c的头文件
main.c 主程序
硬件环境
========
这个例程用于野火STM32F103VET6开发板同以太网芯片W5500搭建的应用平台,也可以很方便地
移植到其他平台上。
注意:
首先通过串口线连接PC和W5500模块;如果W5500模块直接通过网线和PC相连接,需要修改PC的IP为静态IP,且保证和W5500在同一个网段;
如果W5500模块直接连接路由器,则不需要修改。
操作步骤
========
1. 成功编译应用程序,然后通过串口烧录工具或者Jlink把程序烧录到开发板中
2. 打开串口工具,复位开发板可以看到W5500的相关配置信息
3. 打开网络调试助手,设置为TCP Client,端口号和服务器IP可以通过串口打印得到;添加信息无误后点击连接建立网络
4. 连接成功后,在网络调试助手端发送数据,可以观察到数据接收情况
部分代码片段:
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @brief 用3.5.0版本库建的工程模板
******************************************************************************
**@attention 内网测试,请保证W5500的IP与测试PC机在同一网段内,且不冲突;
* @attention 如果是用网线跟PC机直连,请设置PC机本地连接地址IP为静态IP;
* @attention 网络调试助手打开时的IP地址若是你本地连接地址,请自行设定;
*
* 使用本程序,先将w5500_conf.C 文件中的PC_IP,设定为PC机的IP地址,端口号可任意,默认为5000
*
******************************************************************************
*/
#include <stdio.h>
#include <string.h>
#include "stm32f10x.h"
#include "bsp_spi_flash.h"
#include "bsp_usart1.h"
#include "bsp_i2c_ee.h"
#include "bsp_i2c_gpio.h"
#include "bsp_led.h"
#include "bsp_dht11.h"
#include "w5500.h"
#include "W5500_conf.h"
#include "socket.h"
#include "utility.h"
/*app函数头文件*/
#include "tcp_demo.h"
uint8 buffer[2048];
int main(void)
{
uint16 size=0;
systick_init(72);/* 初始化Systick工作时钟*/
NVIC_Configuration();
USART1_Config(); /*初始化串口通信:115200@8-n-1*/
i2c_CfgGpio();/*初始化eeprom*/
LED_GPIO_Config();
printf(" 初始化W5500…… \r\n");
gpio_for_w5500_config();/* 初始化MCU相关引脚*/
// SPI_DMA_Config();
reset_w5500();/*复位W5500*/
printf(" W5500 Hardware initialized! \r\n");
set_w5500_mac();/*配置W5500MAC地址*/
if(use_define==1||use_eeprom==1)/*不DHCP获取IP地址,就配置默认IP地址*/
set_w5500_ip();/*配置W5500IP地址*/
printf(" 电脑作为TCP客户端连接W5500TCP服务器 \r\n");
printf(" W5500服务器端口默认为: %d \r\n",W5500_tcp_server_port);
printf(" 连接成功后,PC机发送数据给W5500,W5500将返回对应数据 \r\n");
socket_buf_init(txsize, rxsize); /*初始化8个Socket的发送接收缓存大小*/
printf(" 应用程序执行中……\r\n");
while(1)//循环执行的函数
{
do_tcp_server();/*TCP_Server 数据回环测试程序*/
}
}
复制代码
w5500
,
tcp
,
dma
,
通信
,
stm32
相关帖子
•
STM32+LabVIEW的USB数据采集与显示源程序
•
LABVIEW与三菱FX3U PLC以太网控制样例程序
•
伦茨8200变频器与电脑通讯问题
•
labview与三菱PLC通讯测试程序
•
LabVIEW做的串口助手程序
•
LabVIEW串口发送和接收程序
•
基于三菱FX5U PLC的CC-Link IE Field basic 伺服及PLC配置的方法
•
常用几种现场总线资料_Canopen_Ethercat_Profibus
•
GPRS MODEM 短信功能测试软件及说明
•
西门子S7-1200 PLC 和 KUKA 机器人以太网通讯组态编程教程
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
路漫漫
194
主题
199
帖子
74
积分
初级会员
初级会员, 积分 74, 距离下一级还需 426 积分
初级会员, 积分 74, 距离下一级还需 426 积分
工控币
74
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
图文推荐
用Fanuc Karel语言实现三点建坐标系
2021-01-04
用CH341A做的USB转SPI_232_485_TTL转换器 PCB+SCH文件 烧写器源
2020-12-14
51单片机采集温度通过串口发送到labview上位机采集曲线显示
2020-12-13
基于组态王的占空比PID算法温度控制系统设计 含源码和文档
2020-12-13
基于LabVIEW的电动车速度监测和控制系统上位机程序设计
2020-12-08
热门排行
1
哈哈,网站很好,来支持一下
2
6000CHM废气处理EPLAN电气图纸
3
300多个常用的Multisim仿真电路资料分享
4
谁那有施耐德PES软件 本人愿意提供一定积分
5
交通信号灯电子线路实验Multisim仿真电路图
6
Multisim14仿真PIC16f84单片机驱动led
7
基于labview的电子秤
8
哪位大佬能看看logix5571以太网通信故障这
9
WINCC 7.5+SP1+UPD3
10
基于LabVIEW的猜数字游戏