wiz820sio(w5100s) client 동작
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: wiz820sio(w5100s) client 동작
by becky ·
안녕하세요
server 동작을할때는
socket → listen
client 동작을 할때는
socket → connect 입니다.
socket에서 적어준 port는 wiz820sio(client)의 port이며
connect에서는 server port를 적어주시면 됩니다.
RE: RE: wiz820sio(w5100s) client 동작
by eorkfl503 ·
감사합니다!!
잠깐 혼동이 왔던거같아요!
RE: wiz820sio(w5100s) client 동작
by becky ·
tcps는 server
tcpc는 client 예제코드입니다.
참고하시면 좋을 것 같습니다.
RE: wiz820sio(w5100s) client 동작
by eorkfl503 ·
혹시 인터럽트 사용하는 예제코드는 없나요…?
지금 Server로 사용시 While문 돌면서 데이터 수신을 기다리고있거든요…
상당히 안좋아보여 인터럽트를 사용하려고합니다…
RE: wiz820sio(w5100s) client 동작
by becky ·
안녕하세요
인터럽트는 MCU마다 다르기때문에 안타깝게도 없습니다.
RE: wiz820sio(w5100s) client 동작
by eorkfl503 ·
하나만 더 여쭤봐도될까요?
데이터 수신 시, INTn 핀이 GPIO로 0,1 동작하는지 궁금합니다.
오실로스코프가 없어서 볼수가 없네요…
mbed os 에서 코드 작성중인데요,
INTn 핀이 데이터 수신 이벤트때 0 또는 1로 동작한다면,
INTn 핀과 연결된 MCU핀을 인터럽트로 설정해 주고
풀업 풀다운모드 설정한 뒤 인터럽트 함수 안에서 데이터 수신(ret = recv(sn,buf,size);)하면 되는거죠?
RE: wiz820sio(w5100s) client 동작
by eorkfl503 ·
데이터시트에는 이벤트 발생시 LOW가 된다고 나와있는데…
데이터 통신시 왜 인터럽트가 안칠까요…?ㅠㅠ
RE: wiz820sio(w5100s) client 동작
by becky ·
안녕하세요
Interrupt Masking은 해주셨나요?
Socket Interrupt를 발생시키고 싶은신경우
Sn_IMR, IMR 레지스터 모두 마스킹 해주셔야합니다.
아래 문서 참고하시면 좋을 것 같습니다.
http://wizwiki.net/wiki/lib/exe/fetch.php?media=products:w5100s:application:w5100s_an_interrupt_v110k.pdf
RE: wiz820sio(w5100s) client 동작
by eorkfl503 ·
masking 해주는 메소드가 따로있나요?
w5100s.h 파일에
#define IMR (W5100S_IO_BASE + (0x0016)) // Socket Interrupt Mask
#define Sn_IMR(sn) (W5100S_IO_BASE + WIZCHIP_SREG_BLOCK(sn) + (0x002C))
두가지 확인했는데요,
마스킹방법을 모르겠네요…
마스킹 후에
setSn_IR(sn, Sn_IR_RECV);
이렇게 사용하면 RECV할때만 인터럽트가 치나요?
으 모르는게 너무 많네요…ㅜㅜ
wiz810sio 모듈의 INTn 핀을 MCU의 GPIO 핀에 연결하였습니다.
wiz810sio(w5100s)의 인터럽트 레지스터를 마스킹해주고, (해주는 방법을 모르겠어요)
RECV 이벤트 발생시 인터럽트 발생하도록 설정(해주는 방법을 모르겠어요)
RECV 이벤트 발생시 MCU에 연결된 INTn(GPIO) 핀이 HIGH에서 LOW로 상태 바뀌어 인터럽트 발생하고 MCU 인터럽트핸들러(처리함수) 안에서 데이터 수신
하면되는 순서 맞나요…?
RE: wiz820sio(w5100s) client 동작
by becky ·
datasheet를 보시면 설명 나와있습니다

먼저 MR2 레지스터의 6번 bit를 Enable 해주셔야 인터럽트가 발생됐을때 INTn가 Low 됩니다.
0번 socket을 이용한다고 가정하고
setIMR(0x01);
setSn_IMR(0x04);
위와같이 설정해주실경우 0번 socket의 recv 인터럽트에만 인터럽트가 발생됩니다.
setSn_IR(sn, Sn_IR_RECV);는 Interrupt 를 Clear시키는 역할을 합니다.
Interrupt 발생시마다 clear 해주셔야 다음 interrupt 발생시 동작 합니다.
RE: wiz820sio(w5100s) client 동작
by eorkfl503 ·
MCU의 GPIO핀을 인터럽트 Intin 으로 선언하고 하강에지일때 인터럽트 함수가 발생하도록 설정했습니다.
wiz810sio의 INTn 핀은 MCU의 GPIO 핀과 연결했습니다.
그 후 말씀하신대로, 0번 socket을 사용하였구요,
setMR2(0x01) // Enable
setIMR(0x01)
setSn_IMR(0, Sn_IR_RECV) // 0번소켓, RECV 0x04
위처럼 설정하였습니다,
하지만 INTn에서 데이터 RECV 이벤트 때, 아무런 변화 없이 계속 HIGH로 유지되는데요, (오실로스코프로 확인)
추가 설정해줘야할 부분이있을까요?