设为首页
收藏本站
找回密码
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
STM32/8
›
STM32使用DMA模式W5500作为tcp服务器源码
返回列表
发新帖
STM32使用DMA模式W5500作为tcp服务器源码
[复制链接]
5
|
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
相关帖子
•
STM32F407+OOP+FSM设计思想
•
STM32做平衡小车全套sch原理图pcb电路图文件 C程序代码 BOM表
•
CANoe快速入门教程-入门和进阶 PDF格式
•
SerialPortYmodem c++源码
•
三菱FX系列PLC与变频器MODBUS ASCII通信示例程序和文档
•
三菱FX2N PLC与三菱变频器ModbusRTU协议通讯应用教程和示例程序
•
欧姆龙NJ PLC内置EIP口实现TCP SOCKET通讯
•
STM32实现U盘功能 USB_Mass_Storage源码
•
SAEJ1939协议DM1故障报文格式
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
路漫漫
194
主题
199
帖子
74
积分
初级会员
初级会员, 积分 74, 距离下一级还需 426 积分
初级会员, 积分 74, 距离下一级还需 426 积分
工控币
74
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
图文推荐
350W开关电源原理图及PCB图 元件参数封装图 完整资料可量产
2021-04-04
STM32做平衡小车全套sch原理图pcb电路图文件 C程序代码 BOM表
2021-04-01
三菱FX系列PLC与变频器MODBUS ASCII通信示例程序和文档
2021-03-31
三菱FX2N PLC与三菱变频器ModbusRTU协议通讯应用教程和示例程序
2021-03-31
电镀生产线S7-200 PLC程序带注释
2021-03-25
热门排行
1
LIS3DH中文数据手册
2
STM32F407+OOP+FSM设计思想
3
有偿求iFIX 5.9英文版授权
4
求IFIX5.9授权文件
5
威纶通触摸屏对应的位地址怎么写
6
卡尔曼(kalman)滤波演示程序 c#源码
7
三菱FX5U 以太网CC-LINK BASIC总线控制伺服
8
VC2017+OPENCV4.30实现机器人与传感器的手
9
CISCO QSGMII接口介绍,介绍sgmii接口与QSG
10
西门子STEP7 modbus 软件包分享