W5100ev01-avr TCP 서버 모드 문의


#1

안녕하세요

표제의 건 관련하여 궁금한점이 있어 글을 올립니다.

Manage 에서 0번 채널만 TCP Server mode로 선택하여 포트를 5000번으로 설정하고 나머지 채널은 미사용으로 한 후,

먼저 A라는 메모장의 데이터를 open 하여 TS를 클릭하여 그 결과 값을 하이퍼 터미널에서 보고 , B라는 메모장의 데이터를

다시 open 하여 TS클릭하여 결과값을 보면 메모장 A의 값이 그대로 남아 있고 메모장 B의 데이터가 덮어져서 출력됩니다.

아무래도 B데이터를 루프백 테스트 할때 A의 데이터가 지워지지 않고 남아 있어 이런 현상이 나타나는거 같은데요.

B 데이터를 open 하여 루프백 테스트 하면 A의 데이터가 다 지워지고 B의 데이터만 출력되도록 하려고 하면 어떻게 해야 할지

궁금하네요. http://blog.naver.com/mylovesky723/70177816719


#2

사진이나 그림을 올리는 방법을 모르겠네요 …
URL 클릭하시면 블로그 연동됩니다. 사진 참조 부탁드리고 답변 부탁드릴게요


#3

안녕하세요 고객님.

제가 테스트 해본 결과 이상없이 데이터 출력이 됩니다.

루프백 테스트는 단순히 받은 데이터를 그대로 송신하는 것이기 때문에 이전 데이터가 이후 데이터를 덮어 쓰거나 하는 동작을 하지 않습니다.

그래서 아마도 기존 코드를 수정하지 않았다면 입력받은 데이터를 출력하는 방식에서 잘못된 것이 아닐까 생각합니다.

저는 단순히 loopback_tcps 함수에서

안의 if ((len = getSn_RX_RSR(ch)) > 0) 안에 아래와 같이 추가 하였더니 정상적으로 출력이 되었습니다.

for(i=0;i<len;i++){ printf("%c ", data_buf[i]); }

감사합니다.


#4

W5100에 전송 되는 데이터 형태가 바이너리 형태인가요? 아니면 아스키 형태인가요…


#5

안녕하세요 고객님.

W5100은 TX memory 로 쓴 데이터를 그대로 전송합니다.

다만 AX1 프로그램은 루프백 테스트 결과 아스키 코드로 데이터를 전송 하는 걸로 나왔습니다.

감사합니다.