W5200 두개사용 network test

#1

안녕하세요!

W5200E01-M3 (1.3) 을 참조하여 MCU(STM32F103)에 W5200두개를 사용 networking test를 하고있습니다.
각 W5200 연결은 SPI, SPI2를 이용하였고요.
W5200_Telnet_SampleCode_v1.3 을 사용하여 각각의 Telenet server로 동작은 시켜보았는데
동시에 두개의 W5200을 동작시켜 2개의 Telenet server로 동작시킬려면 어떻게 해야 하는지요?
문제는 w5200.c 에 선언된

u8 IINCHIP_SpiSendData(uint8 dat)
{
//return(SPI1_SendByte(dat));
return(SPI2_SendByte(dat)); (예제를 보고 SPI2 에 대한 code 생성)
}

의 SPI1_SendByte(dat)/SPI2_SendByte(dat)를 하나만 선택할 수 있어 한개의 Telenet Server만 (즉 1개의 W5200만 사용)
동작합니다.

동시에 두개의 Network을 사용하고 싶습니다. 해결책이나 이에대한 sample code가 없을까요?

#2

W5200을 같은 IP로는 사용할 수 없습니다.
서로 다른 IP를 사용한다면, 드라이버를 따로 제작하여 사용하거나,

혹은 드라이버 함수에 W5200을 구분할 수 있는 argument를 정의하시어 칩아이디에 따라 SPI1과 SPI2를 구분하여 호출하시면 됩니다.

u8 IINCHIP_SpiSendData(uint8 cid, uint8 dat)
{
if(cid == 0) return(SPI1_SendByte(dat));
return(SPI2_SendByte(dat)); (예제를 보고 SPI2 에 대한 code 생성)
}

#3

답변 감사합니다.
동일한 IP는 아니어서
각각의 드라이버를 따로 만들어서 동작은 시켰습니다.
(따로 만들면서 기본적인 코드의 이해에 도움^^)
조언해주신방법으로 테스트시도해 보죠.( 코드 효율성).