먼저 질문 주셨는데 답이 없어서 다시 올리셨네요. 여기에 답변드릴께요~
핑이 되신다니, common register 영역의 접근은 잘 되는 것으로 보입니다.
그래도 지금 현상은 아예 Sn_commnad 가 제대로 되지 않는 것 같은데,
먼저 read/write 가 정상인지 확인하는 것이 확실한 시작이 될 것 같습니다.
먼저, 확인차 아래 주소의 Version register 를 읽어서 확인해 주세요. 0x04 가 나와야 합니다.
그다음, socket register 부분에도 정상적으로 접근이 되는지 확인해 봐야 합니다.
기본값이 0x00이 아닌 영역은 TTL 이라는 레지스터가 있습니다.
socket 0번의 TTL 을 읽어 보시고 0x80 이 나오는지 확인해 보시고,
Sn_MR 값도 쓰고, 읽고 같은 값이 나오는지 확인해 보시는게 먼저 인것 같습니다.
close상태에서 socket이 생성되지않고 SOCKERR_SOCKINIT를 리턴 받는 경우는
Source IP Address가 0인 경우입니다.
이런 경우 ping 테스트도 동작하지 않습니다.
위의 분의 답변처럼 각 레지스터들 값이 잘읽히는지 확인해보시고
Source IP Address가 제대로 읽히는지, PING 테스트가 성공한것이 맞는지 다시한번 확인해보시기 바랍니다.
W5500은 AUTO MDIX를 지원하지 않습니다.
Crossover cable을 사용하신다면, LAN이 연결된 반대쪽의 장치가 Auto-MDIX를 지원해야 사용하가능합니다.
반대쪽 장치가 Auto-MDIX를 지원하지 않는다며느 Straight cable을 사용하셔야합니다.