调试W5500(作为服务器)
一、环境准备
电脑系统:Windows 10 专业版 22H2
IDE:VScode
测试硬件:AG32VF407
二、测试步骤
1、测试目的
将W5500配置为服务器,用于通讯测试,不需要带DHCP
2、查找官方资料
规格书:ag32vf407vgt6规格书.pdf: (访问密码: 1666)
官网:w5500.com/w5500.html
TCP Server:TCP Server
下载例程:W5500例程(网络收集).rar: (访问密码: 1666)
3、选择例程
感觉这版移植简单些,就用这版了
4、移植文件
移植路径 | 移植文件 |
1-TCP Server\word\socket | socket.c socket.h |
1-TCP Server\word\w5500 | w5500.c w5500.h |
添加自定义的spi接口文件,如图示:w5500_gpio
#include "w5500_gpio.h"/// @brief W5500初始化
/// @param
void W5500_spio_Init(void)
{// 引脚初始化SYS_EnableAPBClock(W5500_GPIO_MASK);// 输入GPIO_SetInput(W5500_GPIO, W5500_Input_GPIO_BITS);// 输出GPIO_SetOutput(W5500_GPIO, W5500_Output_GPIO_BITS);GPIO_SetHigh(W5500_GPIO, W5500_Output_GPIO_BITS);
}/// @brief 读写字节
/// @param bety 待写字节
/// @return 读取字节
uint8_t W5500_ReadWriteByte(uint8_t bety)
{uint8_t i;uint8_t data = 0;W5500_SCK_L();for (i = 0; i < 8; i++){bety & 0x80 ? W5500_OUT_H() : W5500_OUT_L();bety <<= 1;delay_us(1);W5500_SCK_H();if (W5500_IN()){data |= (1 << (7 - i));}delay_us(1);W5500_SCK_L();}return data;
}void W5500_Reset(void)
{W5500_RST_L();delay_us(2);W5500_RST_H();delay_us(1500e3);
}
删除不必要的头文件,适配数据类型
注意:可能需要将IR重新命名,部分芯片使用的函数库已经存在IR,此处修改为W5500_IR
参考例程中main-while ,修改循环任务
5、编译正常
三、运行效果
四、工程资料下载
example_f407_w5500_serve.rar: (访问密码: 1666)https://url48.ctfile.com/f/33868548-1523273053-0cdbff?p=1666