---
title: "SPI DMA for Nucleo STM32F401RE & W5500"
url: "https://maker.wiznet.io/mark/projects/spi-dma-for-nucleo-stm32f401re-w5500/"
markdown_url: "https://maker.wiznet.io/mark/projects/spi-dma-for-nucleo-stm32f401re-w5500/md"
type: "UCC: User Created Content"
author: "mark"
author_url: "https://maker.wiznet.io/mark/"
original_url: "https://www.86ic.net/fangan/258691.html"
published: "2023-02-28"
language: "en"
likes: 2
views: 132
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# SPI DMA for Nucleo STM32F401RE & W5500

> SPI DMA for Nucleo STM32F401RE & W5500

Original source: https://www.86ic.net/fangan/258691.html

## Article

WIZnet W5500 supports up to 80MHz SPI Clock so users with an MCU that provide a high-speed SPI communication(SPI DMA) can enjoy maximum ethernet throughput.

HW:　

![](https://maker.wiznet.io/upload/ckeditor5/691904766%5F1677598074%2Epng)

![](https://maker.wiznet.io/upload/ckeditor5/691904766%5F1677598081%2Epng)

•How to implement SPI protocol

SPI protocol for W5500 is provided in W5500.c of WIZnet ioLibrary and has the below four functions.

![](https://maker.wiznet.io/upload/ckeditor5/691904766%5F1677598119%2Epng)

When SPI DMA mode is not used, the inside of the function calls standard SPI read/write function like the below WIZCHIP_READ_BUF() function.

![](https://maker.wiznet.io/upload/ckeditor5/691904766%5F1677598138%2Epng)

When SPI DMA mode is used, it prepares commands data, which consists of address and opcode, and calls SPI_DMA_READ() function.

![](https://maker.wiznet.io/upload/ckeditor5/691904766%5F1677598158%2Epng)

---

Source: https://maker.wiznet.io/mark/projects/spi-dma-for-nucleo-stm32f401re-w5500/
