Info regarding use of IRQ



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?


We were not ready to IRQ method and we didn’t recommended that a data was sent/received in IRQ routine.
We recomends IRQ routine just check the status of W5500 as IR & Sn_IR.

Thank you.


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.


I know what you want.
It is possible. But It is not ready to be provide with sample code of W5500.
You can refer to W5100 driver code on
You can know how to handle irq of WIZnet chips.

Thank you.


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).


I don’t have enough time but We have a plan to upgrade the driver of W5500 in furture.

If you do not mind, share the Altium library here for other users plz.

Thank you.



I attached the Altium library as promised. Use at own risk. (65.2 KB)


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


I hope that your altium library can help other user.
Thanks a lot.