W5500 에서 SPI 통신 확인

안녕하세요?

W5500과 STM32F 제품을 연결 해서 사용 하려고 합니다.

PING 테스트 해서 요청시간이 만료된다고 나와서…

혹시나 싶어서 SPI 부분만 제대로 되었는지 확인을 하고 싶은데요.

혹시…
void W5500Initialze(void){
unsigned char temp;
unsigned char W5500FifoSize[2][8] = {{2,2,2,2,2,2,2,2,},{2,2,2,2,2,2,2,2}};

W5500DeSelect();
// spi function register
reg_wizchip_spi_cbfunc(W5500ReadByte, W5500WriteByte);
//reg_wizchip_spiburst_cbfunc(wizchip_burst_read, wizchip_burst_write);
// CS function register
reg_wizchip_cs_cbfunc(W5500Select, W5500DeSelect);
if(ctlwizchip(CW_INIT_WIZCHIP,(void*)W5500FifoSize) == -1){printf(“W5500 initialized fail.\r\n”);}
do{//check phy status.
if(ctlwizchip(CW_GET_PHYLINK,(void*)&temp) == -1){printf(“Unknown PHY link status.\r\n”);}
}while(temp == PHY_LINK_OFF);
}

이부분에서 LAN 케이블이 연결 되어 있거나 안되어 있을때 구분이 되면 SPI 통신이 된다고 봐야 되는건가요?

안녕하세요,
SPI 관련 신호들이 제대로 설정되어있는지 간단한 확인 방법은
Common Register 중 Version Register를 읽어 보는 것이 가장 정확합니다.
ioLibrary에서 getVERSIONR() 함수가 있으니, 이 함수로 데이터를 읽었을때, 0x04의 값이 나온다면, SPI 설정이 제대로 된것입니다.

감사합니다.
irina

빠른 답변 감사합니다.

if(getVERSIONR() != 0x04){printf(“ACCESS ERR: VERSIONR != 0x04, Read value=%02bx\r\n”, getVERSIONR());while(1);}

0x04 잘 나옵니다.

안녕하세요
Version Register가 제대로 읽힌다면, SPI 설정은 제대로 되어있는 것입니다.

또한, 해당 포스트를 한국포럼으로 옮기겠습니다.

감사합니다
irina

안녕하세요?

https://blog.naver.com/newspacekor/221527749216

요 글좀 한번 확인 부탁 드려도 될까요?

안녕하세요

해당 글 확인하였습니다.
LISTEN상태는 TCP Server가 TCP Client의 접속을 기다리고 있는상태입니다.
TCP Client에서 Destination의 IP와 Port가 맞는지 확인한번더 해보시고 연결시도해보시기 바랍니다

안녕하세요?

확인 하였습니다.

^.^

서버로 두고 테스트를 하고 있었더군요.

확인 해서 해결 했습니다.

감사합니다.