[w7500] tcp interrupt 관련 문의
General
No replies yet. Be the first to reply.
Join the discussion.
General
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: [w7500] tcp interrupt 관련 문의
by becky ·
안녕하세요
답변이 늦어 죄송합니다.
Interrupt Handler 을 사용하기 위해서는 NVIC Enable도 해주어야 하지만
해당 레지스터의 인터럽트 Enable 또한 해주어야 합니다.
WZTOE의 Register중에 SIMR(Socket Interrupt Mask Register)가 있습니다.
0번 소켓을 이용하셨으므로 0번 Pin을1로 설정해야합니다.
초기값은 0x0000_0000으로 설정되어 있습니다.
setSIMR(0x01);위와같이 추가하시면 됩니다.
또한 Interrupt가 발생한 후 해당 인터럽트핀을 클리어 시켜주어야 다음 인터럽트때 작동 합니다.
따라서 WZTOE_Handler에 Sn_IR을 clear해주는 코드를 추가 하셔야 합니다.
setSn_ICR(0, Sn_IR_RECV);위와 같이 추가하시면 됩니다.
(interrupt mask라고 되어있는 bit는 오타입니다. Interrupt Clear로 보시면 됩니다.)
감사합니다.
RE: RE: [w7500] tcp interrupt 관련 문의
by kbs0618 ·
넵 감사합니다!
RE: [w7500] tcp interrupt 관련 문의
by becky ·
안녕하세요
부족한 부분이 있어 더 작성합니다.
제가 위에 Guide 한대로 작성 시,
Socket 0 의 CONNECT, DISCONNECT, RECV, TIMEOUT, SENDOK 모든 Interrupt 발생 시 Interrupt Handler가 발생합니다.
하지만, WZTOE Handler에서 RECV 에만 Interrupt를 Clear하게 되어있습니다.
따라서 처음 Connect 인터럽트 발생 후 Connect Interrupt가 Clear되지 않아 다음 Handler가 정상 동작하지 않습니다.
setSn_ICR(0, Sn_IR_RECV);가아닌
setSn_ICR(0, 0xff);로 작성해주세요
정찬미 드림