---
title: "how do i invoke the w5500 drivers?"
url: "https://maker.wiznet.io/forum/14848"
markdown_url: "https://maker.wiznet.io/forum/14848/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "Jerry Myers"
created: "2023-03-28T14:33:15+09:00"
last_activity: "2023-04-04T00:11:55+09:00"
language: "en"
views: 218
replies: 3
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# how do i invoke the w5500 drivers?

## Question

Asked by Jerry Myers on 2023-03-28 in Ethernet Chips.

For example, if I invoke WIZCHIP_WRITE() and I provide it an address and a wb, do i need to provide it a master address or a slave (w5500) address?

If I provide it a slave address, i dont think it will make it to the slave since it needs to write something to the SPIDAT register. However, if I provide it the master address, then it wont know which address to send it to on the slave.

beyond what is in the ioLibrary.chm help file, more information on the syntax of what is expected for these functions would be greatly appreciated

## Replies

### Reply 1 by louis, 2023-04-03

The WIZCHIP_WRITE() function allows the MCU (Master) to control the W5500 (Slave) chip.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/7/75e43c1e830fc0483f58104531b9751eb02ff2c7.png) image592×725 78.4 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/7/75e43c1e830fc0483f58104531b9751eb02ff2c7.png)

For more information, please refer to our datasheet.

[docs.wiznet.io](https://docs.wiznet.io/img/products/w5500/W5500_ds_v110e.pdf)

<https://docs.wiznet.io/img/products/w5500/W5500_ds_v110e.pdf>

### [W5500_ds_v110e.pdf](https://docs.wiznet.io/img/products/w5500/W5500_ds_v110e.pdf)

1849.36 KB

### Reply 2 by Jerry Myers, 2023-04-03

Jerry_Myers:

> However, if I provide it the master address, then it wont know which address to send it to on the slave.

thank you. i’ve read the data sheet many times. it does not say whether i need to provide the WIZCHIP_WRITE() function an MCU address or a W5500 address. Furthermore, neither have 32 bit addresses which is what this function is expecting (os atleast it is converting what i give it into an uint32 type)

so in conclusion, do i need to provide this function with an MCU register address, or a W5500 address?

ioLibrary: Basic I/O function

## ◆WIZCHIP_WRITE()

| void WIZCHIP_WRITE | ( | uint32_t | *AddrSel*, |
| --- | --- | --- | --- |
|  |  | uint8_t | *wb* |
|  | ) |  |  |

It writes 1 byte value to a register.

Parameters

| AddrSel | Register address |
| --- | --- |
| wb | Write data |

Returns
void

It writes 1 byte value to a register.

Definition at line 47 of file w5100s.c.

### Reply 3 by louis, 2023-04-04 (in reply to reply 2)

To control the W5500, you must write and read registers in the W5500 internal address area. It is separate from the MCU memory.

---

Source: https://maker.wiznet.io/forum/14848
