---
title: "GD32E503Vxx SPI W5500 Driver"
url: "https://maker.wiznet.io/chen/projects/GD32E503Vxx-SPI-W5500-Driver/"
markdown_url: "https://maker.wiznet.io/chen/projects/GD32E503Vxx-SPI-W5500-Driver/md"
type: "UCC: User Created Content"
author: "chen"
author_url: "https://maker.wiznet.io/chen/"
original_author: "chen"
original_url: "https://blog.csdn.net/qq_16423239/article/details/121271953?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165206195116781683911415%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165206195116781683911415&biz_"
published: "2022-08-01"
language: "en"
hardware: ["Giga Device MCU"]
likes: 0
views: 271
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# GD32E503Vxx SPI W5500 Driver

> GD32E503Vxx SPI W5500 Driver

Original author: chen (source: https://blog.csdn.net/qq_16423239/article/details/121271953?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165206195116781683911415%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165206195116781683911415&biz_)

## Components

- **Giga Device MCU** x 1

## Article

??替代和ETH????，用到了GD32E503Vxx和W5500，首先在W5500 Evaluation board V1.0上，也就是基于STM32F103RCT6的??板上，移植了DHCP，DNS，MQTT等功能，?起???利。后?移植到GD32E503VET6自己的板?上，出?了奇怪的??。上?配置后，dhcp?送的?据?包根本看不到，所以收到的llen = getSn_RX_RSR(SOCK_DHCP)一直是0，而跳?dhcp，配置?默?的ip，直接?后面的dns和mqtt，完全?有??，????折?了我快一周，仔?????，原????的是?人意想不到。 先?GD32E503VET6上SPI的配置?，我是用的SPI1,要使能?用??RCU_AF。 SPI GPIO 初始化： ![](https://img-blog.csdnimg.cn/2a55700959e9429f8f349d77120fadcf.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_19,color_FFFFFF,t_70,g_se,x_16) SPI1初始化： ![](https://img-blog.csdnimg.cn/9623eeb437da48da8f5689ecae111200.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_13,color_FFFFFF,t_70,g_se,x_16) main函?初始化，不?行?位 ，由于?了Freertos，所以等系??起?默???后?行硬件?位和初步的配置。 ![](https://img-blog.csdnimg.cn/85fbde2d950d43e4b5da7d5f812ba688.png) 配置好spi，上?后可以先?mac和?mac??SPI通信是否正常。 初始上???的?位和配置： ![](https://img-blog.csdnimg.cn/a829440e18634d70abc2a7148ebb5b66.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_12,color_FFFFFF,t_70,g_se,x_16) 下面，重???了： DHCP_Run ()函? ，???行DHCP??送DISCOVER?文，?不到包，?明?据?有?送成功，要??送成功后?据是?常的，wireshark?法正?解析， ??慢慢??，看是?里出的??，?竟同?的程序和??，在ST上?的???。 最后??在send_DHCP_DISCOVER()函?出???，下面?代?： 先?ST的： ![](https://img-blog.csdnimg.cn/1b80331eb62c4f6a8202e82f6dc15165.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_20,color_FFFFFF,t_70,g_se,x_16) GD32F303 W5500模?通信例程 乍一看就是????和????，??高?的?操作?，??就看出??了，在GD平台上?行?， 在?行pDHCPMSG->OPT[k++] = strlen((char*)host_name)后，?奇的是??索引k?成了0，等于后???又是?0?始，把前面的?据覆盖了。?????是奇?。。。。 然后?GD改之后的代?： ![](https://img-blog.csdnimg.cn/5f5e8faa2cea42cda22d74ee98c3813a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_20,color_FFFFFF,t_70,g_se,x_16) ?色是修改后的，?然?算不??把k?零了，那我再定???量，在strlen之前??一下，strlen之后再把?????K。 完美，?包可以收到?文了： ![](https://img-blog.csdnimg.cn/4994bdd40d6e4470baa2f3196273e8e5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_15,color_FFFFFF,t_70,g_se,x_16) 同理，在DHCP所需要?送的?文中，?有send_DHCP_REQUEST函?也要改一下，同?的改法，就不??和代?了，然后都改好之后，??下?： ![](https://img-blog.csdnimg.cn/238b1b166b7141b9a0b33770793ce2d1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_15,color_FFFFFF,t_70,g_se,x_16) wireshark上?包的?据有了，再看看程序的串口打印部分： DHCP和后?功能全部正常?行，完美。 ![](https://img-blog.csdnimg.cn/fe4efb75d1ff47ddb4f116d41d8b7f74.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcXFfMTY0MjMyMzk=,size_14,color_FFFFFF,t_70,g_se,x_16) 那???bug，也是比??人无?的，??GD32E503VET6 是基于ARM Cortex-M33 ?核，我百度了下，相比于STM32F103 的cortex-M3，是?增强版本，但是不知道??增强在???用中却是?于倒退。。。 ??坑，?的着??人无?。。。￣□￣｜｜ ??bug折?一周，慢慢分析，?于原?，如需??，?注明出?，??。 ???????????????? 版??明：本文?CSDN博主「罹凝寒?」的原?文章，遵循CC 4.0 BY-SA版???，???附上原文出??接及本?明。 原文?接：https://blog.csdn.net/qq_16423239/article/details/121271953

---

Source: https://maker.wiznet.io/chen/projects/GD32E503Vxx-SPI-W5500-Driver/
