I am having issues getting the W5200 (on the Elecrow Arduino shield) to perform correctly.
The W5200 datasheet v1.3 states that Sn_CR register should achieve 0x00 once a command is digested.
In fact the entire example code is written based on the test of this result being 0x00, following each command. In my case this does not happen.
The Sn_CR register contains the bytecode of the last transaction, indefinitely.
When I test the Sn_CR register following any command, it holds the command byte as was written.
Also, the Sn_SR byte doesn’t always change.
A simple example is to Open a UDP socket, wait some time, and then close it. The socket (Sn_SR) never goes into open status. It remains in ARP status.
Then, when I issue the close command to Sn_CR the command remains to be read from the the register. It never resets to 0x00. And the Sn_SR never goes back to 0x00 (closed).
Any thoughts as to why this might be happening?