[W5100]ioLibrary_Driver-master 사용 문의입니다.
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]ioLibrary_Driver-master 사용 문의입니다.
by becky ·
현재 Direct bus mode사용중이신가요??
우선 IO BASE가 제대로 설정되었는지 다시한번 확인하시기 바랍니다.
소켓 버퍼 사이즈 설정은 말씀하신대로 하시면됩니다.
RE: RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by ldj1123 ·
감사합니다.
네. Direct bus mode 사용중입니다.
IO BASE 설정이라하시면 #define WIZCHIP_IO_BASE을 말씀하시는 것인가요?
0xc0000000는 W5100 Driver V1.9에서도 사용하던 주소입니다.
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by becky ·
글을 다시한번 읽어보았는데
제품연결이 잘된다는 말씀은 W5100 레지스터의 R/W는 잘되는데 TCP/UDP 통신에서만 문제가 있는건가요??
아니라면 제품연결이 잘된다는건 무슨의미인가요??
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by ldj1123 ·
→ 그 후 recv()로 데이터를 읽어보면 읽어보면 버퍼에 개수는 같은데, 저장되는 값이 다릅니다.
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by becky ·
W5100 레지스터들이 잘읽히시는거면 interface부분(Bus mode)은 확인하실 필요 없습니다.
TCP 데이터 부분만 잘못될 수 없습니다. 정상이라고 보시면 됩니다.
send() recv() 함수를 호출하는 부분의 code와 PC에서 전송한 data, W5100에서 read한 data 를 알고싶습니다. 매개변수 전달이나, 데이터 read하는 부분에 있어서 문제가 있는것으로 생각됩니다. recv()함수를 사용하실 때 buf의 데이터형과 read하는 법은 아래와 같습니다. 같은지 확인하시기 바랍니다.
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by ldj1123 ·
코드는 아래와 같습니다.
버퍼에 저장되는 내용은 UART 대신 디버거로 확인하고 있습니다.
PC에서 0x00을 반복해서 전송해도 mcu버퍼에 저장되는 값은 랜덤하게 됩니다.
pc → mcu(buffer)
0x00 → 0xc9
0x00-> 0x85
0x00 → 0x62
0x00 → 0x48
typedef struct RxProtocol
{
unsigned char buffer[128];
} rxProtocolStruct;
=================================================
case 0x17: //socket established됨.
length = getSn_RX_RSR(0);
if( length > 0)
{
recv(0, eth_rx.buffer, length);
send(0,eth_rx.buffer, length);
}
break;
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by becky ·
eth_rx.buffer대신에
다른 버퍼를 선언해서 테스트해도 같은결과인가요?
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by ldj1123 ·
네. 다른 버퍼를 써도 동일한 증상이고요.
w5100을 쓰는 다른 보드도 드라이버를 바꾸니까 동일하게 증상이 나타납니다.
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by irina WIZnet ·
recv의 return값이 실제로 받은 데이터의 길이거나 Error 메시지입니다.
send의 return 값은 실제 보낸데이터의 길이거나 Error 메세지 값입니다.
이 두개의 값이 제대로 나오는지 확인하시고 W5100에서 수신된 버퍼의 값을 디버그말고 UART로 확인 부탁드립니다.
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by ldj1123 ·
위와 같이 uart로 확인하였습니다. buffer33은 다른값이 출력되었고, ret는 length와 동일한 값이 출력됩니다.
RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by ldj1123 ·
라이브러리 변수 타입수정하면 송수신 잘 됩니다.
void wiz_send_data(uint8_t sn, uint8_t *wizdata, uint16_t len)
{
uint32_t dst_ptr;
}
void wiz_recv_data(uint8_t sn, uint8_t *wizdata, uint16_t len)
{
uint32_t src_ptr;
}
이것은 "wizchip_conf.h"에서 바꿀수 없는건가요?
RE: RE: [W5100]ioLibrary_Driver-master 사용 문의입니다.
by becky ·
uint16_t dst_ptr; (uint16_t src_ptr;) 였던 변수타입을
uint32_t dst_ptr; (uint32_t src_ptr;) 로 변경하니 잘된다는 말씀이신가요?