---
title: "Info regarding use of IRQ"
url: "https://maker.wiznet.io/forum/10154"
markdown_url: "https://maker.wiznet.io/forum/10154/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "somnatic"
created: "2014-04-18T16:33:44+09:00"
last_activity: "2017-05-04T08:32:31+09:00"
language: "en"
views: 1053
replies: 4
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# Info regarding use of IRQ

## Question

Asked by somnatic on 2014-04-18 in Ethernet Chips.

Hi

I’ve been successfully able to establish a connection between the W5500 and an AT32UC3. Worked nearly out of the box (after discovering a wiring error caused by myself).

I was able to port the loopback example from the Wiki successfully and establish a connection. Now I was wondering what needs to be done to make use of the interrupt the W5500 provides (hoping that I can reduce the amount of traffic on SPI between the UC3 and the W5500 since I have some other devices as well).

Yet, I was unable to find such information in the Wiki. I only implemented the read, write, select and deselect functions for my controller (which was easy). Are there callback functions for using IRQ as well, which do I need to implement and what are they supposed to do?

I saw a function named enter/exit critical section. I guess these are supposed to disable/enable IRQs or similar. Are these mandatory?

## Replies

### Reply 1 by somnatic, 2014-04-20

Hi midnightcow

I understand that data must not be sent or received in the interrupt handler. I do not want/need to do this.

In my program main loop, I have the tcp_loopback part which continuously performs SPI transfers. What I meant was not to require these transfers until really something has changed. Can this be achieved with the IRQ signal line? So can I say that if a transfer needs to be performed, the IRQ line will inform me, I will set a flag and then (some time shortly after in my main loop) I will initiate the SPI transfer? Or does the IRQ line only signal specific events and I will need to use polling in any case.

### Reply 2 by somnatic, 2014-04-21

Do you plan on adding this feature to the W5500 driver?

fyi: I made a Altium library (schematic + footprint + 3D) for the W5500, after our internal review I can send it you if you want to have it (plus some screenshots how it looks so you can review it as well).

### Reply 3 by somnatic, 2014-04-22

Hi

I attached the Altium library as promised. Use at own risk.

[![](https://maker.wiznet.io/forum_uploads/wiznet/original/1X/57696c9d2abfa4e1fa807678539637801ddc2d9f.png) 836×814 148 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/1X/57696c9d2abfa4e1fa807678539637801ddc2d9f.png)

[![](https://maker.wiznet.io/forum_uploads/wiznet/original/1X/9df1a482cd016fb9d938fcec0cb952ed672b9621.png) 677×639 43.9 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/1X/9df1a482cd016fb9d938fcec0cb952ed672b9621.png)

[w5500-altium.zip](https://maker.wiznet.io/forum/legacyFile.asp?path=bF1Ycz2MxBNJP9q5k6ZkK2gOIsZ.zip) (65.2 KB)

### Reply 4 by somnatic, 2014-04-22

I could only attach 3 files, therefore added 3D view here

[![](https://maker.wiznet.io/forum_uploads/wiznet/original/1X/f6802374b47cdc041d99382274ce1fcf2504a489.png) 792×612 91.8 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/1X/f6802374b47cdc041d99382274ce1fcf2504a489.png)

---

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