STM32F 에 W5500 라이브러리 설치 후 셋업
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by irina WIZnet ·
안녕하세요.
먼저, 실망하셨다니, 죄송합니다.
4년전 교육당시 코드가 어떤 코드인지 알수가 없으니, 해당 코드로 확인해 드릴수 는 없을 것 같습니다.
보통 W5500을 셋업할때는,
위와 같은 세팅이 제대로 되었다면, 네트워크 환경은 잡힌것입니다.
WIZnet에서 공식적으로 제공하는 Reference code에는 말씀하신 Load Net Parameters 함수는 없습니다.
저희가 공식적으로 제공하는 Reference code 중 STM32F103을 이용하여 사용한 코드가 있습니다.
위의 코드를 참고하셔서 변경하시면 됩니다.
감사합니다.
irina
RE: RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by jinxianghe ·
안녕하세요?
빠른 답변 감사 합니다.
최신 IO_Library 는 최신 버전과 제가 가지고 있는게 큰 차이는 없는거 같습니다.
우선 이부분은 패스~
초기 셋업
이것을 참고 하고 있고…W5500 Ethernet shield spi dma rx 데이터 수신이 안됩니다.
아래 내용은 일전에 작업 했던 소스 입니다.
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);
}
2-2 •network 정보를 넣어줍니다.
////////////////////////////// W5500 //////////////////////////////////////////////////////////
BYTE buffer[512]; // file copy buffer
wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef},
.ip = {192, 168, 11, 194},
.sn = {255, 255, 255, 0},
.gw = {192, 168, 11, 1},
.dns = {8, 8, 8, 8},
.dhcp = NETINFO_STATIC};
/////////////////////////////////////////////////////////////////////////////////////////////
wizchip_setnetinfo(&gWIZNETINFO);
W5500_Config();
W5500Initialze();
wizchip_setnetinfo(&gWIZNETINFO);
print_network_information();
위와 같은 순서로 설정 하고
2-3
main 에서
while(1){//W5500 TEST for loopback OK~!
loopback_tcps(0,buffer,12345);
}
요렇게 하고 있습니다.
PC에서 Ping 192.168.11.194 -5 라고 실행 하면
요청 시간이 만료 되었다고 나옵니다.
어디가 문제 일가요?
RE: RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by jinxianghe ·
글 썼는데 지워 졌는지 안보이네요.
우선 빠른 답변 감사합니다.
메인에서 아래와 같이 설정 해줍니다.
W5500_Config(); <=== STM32F407 에서 I/O SPI 등을 설정.
W5500Initialze();
wizchip_setnetinfo(&gWIZNETINFO);
print_network_information();
//////////////////
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);
}
위와 같이 초기화
////////////////////////////// W5500 //////////////////////////////////////////////////////////
BYTE buffer[512]; // file copy buffer
wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef},
.ip = {192, 168, 11, 194},
.sn = {255, 255, 255, 0},
.gw = {192, 168, 11, 1},
.dns = {8, 8, 8, 8},
.dhcp = NETINFO_STATIC};
/////////////////////////////////////////////////////////////////////////////////////////////
위와 같이 설정
while(1){//W5500 TEST for loopback OK~!
loopback_tcps(0,buffer,12345);
}
과 같이 해놓고
PING 테스트를 하면 요청시간이 만료 되었다고 나옵니다.
이럴 경우 어디를 확인 해봐야 될까요?
LAN 콘넥터 쪽 LED는 녹색은 깜빡이고 주황색 계속 불이 들어 옵니다.
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by teddy ·
안녕하세요
전체 코드가 어떻게 되어있는지는 잘 모르겠지만 이부분은 아마도 IP, GateWay 등 network 정보를 Flash에서 받아오는 코드 같습니다.
이전에 처음 Flash에 Network 정보를 저장하고 이후 부팅했을 때 Flash에서 저장된 정보가 있으면 정보를 받아오는 코드 같습니다.
감사합니다.
Teddy
RE: RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by jinxianghe ·
요 글을 보고 했었습니다만 지금은 지웠습니다.
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by teddy ·
안녕하세요 위즈네트 박병택입니다.
PC의 IP 주소를 확인하셔서 Device의 IP를 맞춰서 확인 하시기 바랍니다.
감사합니다.
Teddy
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by jinxianghe ·
안녕하세요? 제가 잘 몰라서 그러는데… W5500 에서 맞춰야 되는
////////////////////////////// W5500 //////////////////////////////////////////////////////////
BYTE buffer[512]; // file copy buffer
wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef},
.ip = {192, 168, 11, 194},
.sn = {255, 255, 255, 0},
.gw = {192, 168, 11, 1},
.dns = {8, 8, 8, 8},
.dhcp = NETINFO_STATIC};
/////////////////////////////////////////////////////////////////////////////////////////////
이곳의 IP가 연결 되는 PC의 IP 주소랑 같으면 되는건가요?
현재 네이버에서 IP 검색으로로 나오는 IP주소로
////////////////////////////// W5500 //////////////////////////////////////////////////////////
BYTE buffer[512]; // file copy buffer
wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef},
.ip = {192.168.1.60}, <====== IPV4 주소:
.sn = {255, 255, 255, 0},
.gw = {192, 168, 11, 1},
.dns = {8, 8, 8, 8}, <===IPv4 DNS 서버
.dhcp = NETINFO_STATIC};
/////////////////////////////////////////////////////////////////////////////////////////////
설정을 하고
PC랑 W5500과 연결 해서 확인을 해보면
Ping 192.168.1.60 32바이트 데이터 사용:
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
W5500보드에서 케이블을 빼서 PC랑 인터넷 여결 하면
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
192.168.1.60의 응답: 바이트=32 시간<1ms TTL=128
이렇게 나옵니다.
요렇게 나옵니다.
뭐가 문제 인지… 모르겠네요. (인터넷 쪽은 전혀 모릅니다.)
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by teddy ·
CMD 창에서 ipconfig 로 IP주소와 Gateway 등 화면을 캡쳐 해 주셨으면 합니다.
PC 주소가 고정로 되어있는지 자동으로 되어있는지 확인부탁드립니다.
자동으로 되어있다면
W5500 ip 192.168.1.60 의 뒤자리만 바꿔서 설정하시기 바랍니다.
W5500 gw ={192.168.1.1}로 변경하시고 W5500과 연결하여 테스트 하시기 바랍니다.
W5500보드에서 케이블을 빼서 PC랑 인터넷 연결 했다는 것은 어떻게 연결하신것인지 모르겠습니다.
PC ---- 공유기 -----W5500 이렇게 연결하신 것인지 확인 부탁드립니다.
감사합니다.
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by jinxianghe ·
위와 같이 설정이 되어 있구요.
PC ---- 공유기 ---- W5500 으로 연결 되어 있습니다.
PING 테스트는 케이블 꽃아도… 안꽃아도 동작을 하네요…
https://blog.naver.com/newspacekor/221527118723
상기 동영상 확인 부탁 드립니다.
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by irina WIZnet ·
안녕하세요.
해당 동영상을 보니, PC 와 W5500의 동일한 IP를 쓰고 있네요,(IP 192.168.1.60)…

공유기에 연결된 장치들은 같은 IP를 쓰게 되면 충돌이 나게 됩니다.
외부로 나가는것이 아닌것이라면,
공유기에 연결하지 말고, PC와 W5500을 LAN cable로 바로 연결해서 사용하셔도 됩니다.
해당 IP도 아래와 같이 변경하셔서 테스트 하시길 바랍니다.
감사합니다
irina
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by jinxianghe ·
안녕하세요?
빠른 답변 감사합니다.
다름이 알려 주신대로 하였으나 동작을 안해서 재 점검 결과 IP 주소 값이 틀려서 변경 하여 PING 테스트는 동작을 잘 하고 있습니다.
감사합니다.
https://blog.naver.com/newspacekor/221527639905
보내 주신 이미지는 먼서 양해를 못구하고 사용 하게 된점 죄송합니다. 혹여나 싫으시다면 바로 지우겠습니다.
그리고 블로그에도 글을 남기긴 하였고 포럼에도 답글이 올라 오긴 했습니다만…
수신 해서 데이타를 저장 하는 부분과 데이타를 송신 하는 부분 한번 더 설명 좀 부탁 드려도 될까요?
바쁜 시간 자꾸 뺏어서 죄송합니다.
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by teddy ·
loopback 함수에서
이부분 수정하셔서 참고 하시면 될 것 같습니다.
여기 코드 참고 하시기 바랍니다.
동작 시 PC Client 프로그램에서 W5500에 접속하셔서 데이터를 보내시기 바랍니다.
감사합니다.
RE: STM32F 에 W5500 라이브러리 설치 후 셋업
by jinxianghe ·
안녕하세요?
동영상에 보면…
SOCK ESTABLISHED <=== 이부분을 안들어 갑니다.
처음에 접속을 하면.
case : SOCK_CLOSED <=== 이부분을 지나고
case SOCK_INIT <==== 그다음에 이부분을 지나고
case SOCK_LISTEN: <===== 그리고는 이곳에서 계속~~~~ 무한 루프를 돌고 있습니다.
클라이언트 접속이 되면
case SOCK_ESTABLISHED <==== 이부분을 동작 한다고 하셨는데.
그럼 지금 사항은 클라이언트 접속이 안되어 있다는 얘기 같고.
그래서 확인을 해보니 제가 툴에서 server로 해놨더군요.
우선 데이타 잘 나옵니다~
몇일전 유선상의 불쾨 했던 점들이 말끔이 해소가 되네요.
감사합니다 ^.^