WIZnet Developer Forum

W5300 인터럽트 관련 질문 입니다

안녕하세요.

W5300 모듈을 구매하여 사용하고 있습니다.

인터럽트 동작에 관하여 궁금합니다.

Datasheet를 보면

“IR (Interrupt Register) [R/W] [0x08002/0x002] [0x0000]
IR은 Host에게 W5300에서 발생한 Interrupt 종류를 알려주기 위한 Register이다.
Interrupt 발생시, IR의 해당 Interrupt bit가 ‘1’로 설정되고 IMR의 해당 Interrupt mask bit이
‘1’일 경우, ‘/INT’ signal은 Low로 Assert된다” 라고 명시되어 있는데요.


위 사진은 제가 소켓 4번을 열고 SSR 레지스터가 SOCK_ESTABLISHED 상태 일 때
Client에서 'a’라는 문자를 전송 했을 때 상태입니다.

소켓 0, 1 어떤 포트를 열어도 IR 레지스터가 위와 같은 상태이며

\Int 핀은 Low로 변하지 않습니다.

제 생각은 만약 0번 포트면 bit0이 1로 set되고

1번 포트면 bit1이 1로 set 될꺼라 생각했는데 결과가 다릅니다…

다른 설정이 필요한가요?


제가 레지스터 명을 잘못 설정했네요

소켓에서의 IR IMR과

공통 레지스터 IR IMR을 서로 혼용해서 이해하고 프로그램을 작성해서 그렇게 되었습니다.

해결했습니다…

수고하셨습니다. ^^ 혹시나 인터럽트 사용에 다른 어려움 있으시면 언제라도 질문해주세요.
감사합니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.