안녕하세요.
이번에 새로 커스텀 보드를 제작하면서 W5500을 추가하였습니다.
기본적인 테스트를 위하여 static ip 와 기타 설정을 한뒤 연결을 시도해보고 있는데 연결이 되지 않아서 문의 드립니다.
// create socket
socket(0, Sn_MR_TCP, 5000, 0x00);
소켓을 생성하는 코드에서 taddr 값이 항상 0으로 나와서 SOCKERR_SOCKINIT 에러가 발생합니다.
case Sn_MR_TCP :
{
//M20150601 : Fixed the warning - taddr will never be NULL
/*
uint8_t taddr[4];
getSIPR(taddr);
*/
uint32_t taddr;
getSIPR((uint8_t*)&taddr);
if(taddr == 0) return SOCKERR_SOCKINIT;
break;
}
SPI 설정이 문제가 있는가 해서 다음과 같이 칩의 버전을 요청해보았습니다.
// get version
uint32_t version = getVERSIONR();
결과는 0x04를 예상했지만 0x40이 응답으로 옵니다.
제 SPI 설정이 어디에 문제가 있는것인지 확인해줄 수 있나요?
사용중인 MCU는 STM32H753 이고 SPI 입력 클럭은 64 MHz입니다. Prescaler를 통해 32MHz 를 클럭으로 사용합니다.