[W7100 EVM] 예제프로그램 작성 - TCP/IP 테스트 (Ping테스트)
W7100은 8051코어에 W5100코어가 내장되어 있는 MCU이므로 기존 W5100코드를 이용하면 크게 수정없이 사용 가능하다. (물론 Wiznet에서 제공하는 코드는 호환성이 좀 떨어지므로 레이어를 두어 수정을 좀 했다.)
네트웍 초기화
MAC Address는 고유하 번호를 할당받아야 하지만 테스트용으로 충돌 나지 않는 할당하면 된다.
보드의 IP역시 충돌나지 않는 값으로 설정하면되지만 공유기를 사용하는 경우 자동 할당번호 내의 값으로 설정해야 한다.
NetInit() 함수에서 초기화를 하면 (MAC, IP, GW..레지스트에 값을 기입하면) 하드웨어 적으로 Ping리퀘스트를 해준다.
Keil Project에는 01_drv/iinchip 폴더에 있는 TCPIPCore.c, socket.c, wizmemcpy.c 파일을 추가 해 주면 TCP/IP처리는 쉽게 된다.
W7100 Ping 테스트 예제코드
코드 자체는 상당히 간단하다. MAC, IP, GW레지스터에 데이터를 셋팅하면 ping이 자동으로 처리된다.
W5100 ping테스트
W7100은 8051코어에 W5100코어가 내장되어 있는 MCU이므로 기존 W5100코드를 이용하면 크게 수정없이 사용 가능하다. (물론 Wiznet에서 제공하는 코드는 호환성이 좀 떨어지므로 레이어를 두어 수정을 좀 했다.)
네트웍 초기화
MAC Address는 고유하 번호를 할당받아야 하지만 테스트용으로 충돌 나지 않는 할당하면 된다.
보드의 IP역시 충돌나지 않는 값으로 설정하면되지만 공유기를 사용하는 경우 자동 할당번호 내의 값으로 설정해야 한다.
#define MY_NET_MAC {0x00, 0x08, 0xdc, 0x00, 0x00, 0x00} // MY Mac Address : 00.08.DC.00.00.00
#define MY_NET_GWIP {192, 168, 0, 1} //Gateway : 192.168.0.1
#define MY_SOURCEIP {192, 168, 0, 104} //보드 IP : 192.168.0.104
#define MY_SUBNET {255, 255, 255, 0}
#define MY_NET_GWIP {192, 168, 0, 1} //Gateway : 192.168.0.1
#define MY_SOURCEIP {192, 168, 0, 104} //보드 IP : 192.168.0.104
#define MY_SUBNET {255, 255, 255, 0}
NetInit() 함수에서 초기화를 하면 (MAC, IP, GW..레지스트에 값을 기입하면) 하드웨어 적으로 Ping리퀘스트를 해준다.
Keil Project에는 01_drv/iinchip 폴더에 있는 TCPIPCore.c, socket.c, wizmemcpy.c 파일을 추가 해 주면 TCP/IP처리는 쉽게 된다.
W7100 Ping 테스트 예제코드
코드 자체는 상당히 간단하다. MAC, IP, GW레지스터에 데이터를 셋팅하면 ping이 자동으로 처리된다.
void main()
{
unsigned int cnt = 0;
SystemInit(); //Initialize iMCU
init_iMCU();
Led1Init();
Led1On();
Led2Init();
Led2Off();
U0_Init(BAUD_115200);
U0_PutStr("iMCU Serial Test\r\n");
printf("Start\r\n");
NetInit(); // Initialize Network Configuration
while(1)
{
}
}
{
unsigned int cnt = 0;
SystemInit(); //Initialize iMCU
init_iMCU();
Led1Init();
Led1On();
Led2Init();
Led2Off();
U0_Init(BAUD_115200);
U0_PutStr("iMCU Serial Test\r\n");
printf("Start\r\n");
NetInit(); // Initialize Network Configuration
while(1)
{
}
}
W5100 ping테스트
반응형