W5100 접속 문제 문의 드립니다.

개발자입니다.
포럼에 올라온 글들을 보면서 많은 도움을 받고 있습니다. 감사드립니다.

이번 개발은 W5100을 사용한 프로젝터입니다.
개발환경은 다음과 같습니다.

  • 마이컴 : STM32H743(32bit)
  • 컴파일러:IAR ARM
  • 통신방식:FMC(병렬)
  • 현재상태:연결/해제를 반복하면 SOCKET_LISTEN/SOCK_ESTABLISHED를 반복합니다.
    데이터를 1회 수신하고(수신DATA양호/10byte)해제/연결을 하면
    SOCKET_LISTEN/SOCK_SYNRECV 상태가 되면서 더이상 통신을 하지 않습니다.
    ==>송신만 1회하면 통신이 끊어집니다.
  • 포럼을 보다가 저와 같은 문제의 문의를 보았으나, 답이 없어서 혹시그문제가 해결이 되었나요?
    도움 부탁드립니다.

TCP Sever로 동작을 할때 Sn_SR의 동작은
기본적으로는 아래와 같습니다.
0x00 → 0x13(init) → 0x14 (listen)->0x17(established)->0x00(close - 연결을 끊었을때)

  1. 연결을 끊긴 후 다시 init → linsten의 상태로 변경되는지 확인해주세요

  2. 정확히 연결이 끊겼는지 확인하는 방법은 wireshark tool(freeware)을 이용하여 네트워크 패킷을 확인하는것입니다.

  3. 저희가 제공하는 ioLibrary를 참고하셔서 구현중이 아니라면, 기본 TCP Server로 동작하는 시퀀스가 있으니, 참고해서 사용하셔야할것 같습니다.
    iolibrary : GitHub - Wiznet/ioLibrary_Driver: ioLibrary_Driver can be used for the application design of WIZnet TCP/IP chips as W5500, W5300, W5200, W5100 W5100S.

W5100의 메뉴얼에도 간단한 설명이 있으니, 그것을 참고하시는것도 도움이 될것 같습니다.
P.43이 TCP Server동작 예제입니다.

감사합니다.
iolibrary : [https://github.com/Wiznet/ioLibrary_Driver를 참조 했더니 모든 문제가 해결되었습니다.
진심으로 감사드립니다.

해결되었다니 다행입니다