플렛폼은 MBED-OS 5.15.1을 사용중입니다.
라이브러리는 WIZnetInterface를 깃에서 받아서 사용중이고요.
의문점1 : 코드상에서는 8bit로 통신하지만, 내부적으로 라이브러리상에서는 [ W5500.cpp ]
spi->format(32, 0); 로 선언되어 있습니다.
위 상태에서는 코드가 전혀 돌아가지 않습니다. 하지만 저걸
spi->format(8, 0); 로 변경하고는 잘 동작하는것을 확인하였습니다.
의문점2 : dhcp 활성화하여 동작시,
IP : 192.168.0.72 , GW : 192.168.0.1, Mask : 255.255.255.0 으로 잡히며 TCP 전송시, 잘 동작합니다.
하지만
eth.init(mac_addr, ip_addr, mask_addr, gw_addr);
위 구문을 사용하여 ip 를 설정시, 설정 후 다시 읽어보면
IP : 192.168.0.72 , GW : 192.168.0.1, Mask : 255.255.255.0 이렇게 동일하게 주소가 잡히지만
r = socket.connect(a);
if (r != 0) {
printf("Error! socket.connect() returned: %d\n", r);
}
위 코드에서 Error! socket.connect() returned: -1 이런 에러코드가 나오는데 무엇때문일까요?
이더넷이 처음이라 막히는 부분을 해결할수가 없어 문의드립니다.
감사합니다.