Since I am fairly new to debugging the stm32(duino), I am not sure what can cause this behaviour.
I have a slightly modified Arduino Web Server example and I set a breakpoint in the W5100.cpp on line 285
Code: Select all
phystatus = readPHYCFGR_W5500();
Code: Select all
W5100Linkstatus W5100Class::getLinkStatus()
{
uint8_t phystatus;
if (!init()) return UNKNOWN;
switch (chip) {
case 52:
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
phystatus = readPSTATUS_W5200();
SPI.endTransaction();
if (phystatus & 0x20) return LINK_ON;
return LINK_OFF;
case 55:
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
delay(1000);
phystatus = readPHYCFGR_W5500();
SPI.endTransaction();
if (phystatus & 0x01) return LINK_ON;
return LINK_OFF;
default:
return UNKNOWN;
}
}
The debugger stops on line 287
Code: Select all
if (phystatus & 0x01) return LINK_ON;
And this is the exact location where I want to check what could possibly be the difference