WIZnet Developer Forum

WIZwiki-W7500P 라이브러리 사용중 문의드립니다

WIZwiki-W7500P보드로 DHCPClient 예제 테스트 중인데

while( link() == 0x0 )
부분에서 PHY하고 링크가 안되서 루프에서 무한 반복이 됩니다.

miim.h 소스를 보니

#ifdef W7500P
#define PHY_ADDR_IP101G 0x01
#else
#define PHY_ADDR_IP101G 0x07 // //AD[3:0] <= 0x0F (0x07)
#endif

부분이 있는데 __W7500P__이 define이 안되어 있어서 그런가 싶어 제가 임으로 define해서 컴파일 해도 결과는 똑같습니다.

miim.c 소스를 보면

#ifdef W7500P
// PB_05, PB_12 pull down
*(volatile uint32_t *)(0x41003070) = 0x61;
*(volatile uint32_t *)(0x41003054) = 0x61;
#endif
이부분이 있는데 MDIO, MDC를 PB_05, PB_12로 쓰는건가요? 만약 PB_05와 PB_12로 쓴다면

#define MDIO GPIO_Pin_14
#define MDC GPIO_Pin_15

define이 잘못된거 같은데. W7500하고PHY 연결된 핀을 모르니 감이 안잡힙니다.

__W7500P__이 define 안된 상태에서 컴파일 하는게 맞는건지 확인 부탁드립니다.

그리고 __W7500P__을 define 시켜서 해도 link()부분에서 진행이 안되는건 똑같은데 이것도 확인 좀 부탁드립니다.

수고하세요~

아래 링크에 답변 드렸습니다.

감사합니다. :slight_smile:

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.