[W5100] send 명령시 여러번 전송이 됩니다.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by Matthew ·
안녕하세요.
작업 환경이 어떠신지 알려주실 수 있으신가요?
W5100 칩 간의 통신하는 환경인가요? 아니면, W5100과 PC와 통신하는 환경인가요?
그리고 패킷은 어디에서 (송신단, 수신단) 캡쳐하셨는지 알려주시면, 감사하겠습니다.
RE: RE: [W5100] send 명령시 여러번 전송이 됩니다.
by cat602006 ·
W5100칩과 PC와의 통신 환경입니다.
패킷은 PC에서 캡쳐 하였습니다.
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by becky ·
안녕하세요
PC(자바프로그램)으로 W5100이 데이터를 한번 전송하도록 하였는데,
데이터전송이 여러번 되고있다는 말씀이신가요?
W5100의 펌웨어를 어떤펌웨어를 사용하셨나요?
혹시 이러한 형태로 펌웨어를 작성하여서 send command가 한번 나가야된다고 판단하신거라면,
위에 code는 보통 상위단에서 반복문으로 잡혀있습니다.
따라서 socket이 establish 상태이면 무한으로 send command가 전송됩니다.
한번만 전송하고 싶으시다면 if문으로 flag를 사용하여서 send command를 전송하시거나,
connect 인터럽트가 떳을때 데이터를 전송하고, connect 인터럽트를 clear하면
connect 직후에만 데이터가 전송되므로 한번만 전송됩니다.
ex)
RE: RE: [W5100] send 명령시 여러번 전송이 됩니다.
by cat602006 ·
ATmega128에서 PC의 Java로 1~10 까지의 숫자를 각 숫자간에 delay를 주어 1초 간격으로 전송을 한다하면, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 6, 7, 8, 9, 10 …
이 처럼 5가 아주 짧은 순간(거의 동시)에 전송이 됩니다. 또는 3, 4, 5, 3, 4, 5 와 같이 일정 구간이 짧은 순간에 전송 됩니다.
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by becky ·
안녕하세요
데이터 전송하는 부분의 코드와
와이어샤크로 캡쳐한 파일을 보내주시기바랍니다.
becky@wiznet.io
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by becky ·
안녕하세요
보내주신 메일 확인하였습니다.
와이어샤크를 보면 send하는 data의 크기가 일반적인 상황에서는 10~11 byte인데
1KB 가 넘는 size의 data가 연속적으로 send 하는 부분을 문제라고 판단하시는거 같은데 맞나요?
펌웨어 문제로 보여집니다.
send()함수에서 send size 매개변수를 strlen(pstr) 로 하셨는데 debugging 해보시면 예상값이 아닐것으로 판단됩니다.
pstr과 strlen(pstr)을 debugging해보시면서 펌웨어 수정하시기 바랍니다.
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by cat602006 ·
strlen() 부분을 정수로 수정하고 전송을 해봤습니다.
전송할 데이터가 “11 24 \r\n” 이라고 하면 send(0, pstr, 8) 이나 send(0,pstr, strlen(pstr)) 모두 중간에 1KB가 넘는 데이터패킷이 캡쳐됩니다. (strlen(pstr)의 값이 8로 출력됩니다.)
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by becky ·
안녕하세요
driver코드는 어떤코드를 사용중이신거죠?
git에서 다운 받으셨나요?
send함수의 반환값을 출력해보시기바랍니다.
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by cat602006 ·
send() 함수의 반환값을 출력해보면 전송데이터의 길이가 반환 되는 것 같습니다.
예제 코드를 다운로드 받을 곳이 있을까요?
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by becky ·
send함수 내부에 보시면
wiz_send_data(sn, buf, len);위의 코드가 있습니다.
실제 데이터가 전송되는 부분입니다.
len에 8이 전달되어야 하는데 중간에 변형이 있는거같습니다.
len값을 debugging해보시면서 찾으시면 될 것 같습니다.
다른 예제코드를 굳이 다운받으실 필요는 없을 것 같습니다.
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by cat602006 ·
len 값이 일정하게 출력이 되는데 같은 현상이 발생하는 것 같습니다.
혹시 네트워크 상의 문제로도 이런 증상이 발생할 가능성이 있을까요?
RE: [W5100] send 명령시 여러번 전송이 됩니다.
by becky ·
전혀없습니다.
send함수의 매개변수를 (uint16_t) 로 형변환 해준뒤에도 현상이 같으신가요?
send함수내부에서 첫 부분부터 len값이 예상하지 않은 값이 나오시나요?