Udp 모드시 인터럽트 설정 문의


#1

안녕하세요. w5200을 사용하여 udp 테스트 중입니다.
tcp/ip 모드 사용시 소켓 커넥팅 시점에 발생하던 인터럽트가 udp 모드 사용시 발생하지 않습니다.
물론 udp 통신은 정상적으로 소켓이 오픈되고, 통신이 되어 문제는 없습니다만, udp 모드 사용시에 인터럽트는 발생되지 않는 것이 정상적인 것인지 확인을 하고 싶습니다.(udp 모드시 인터럽트는 사용하지 않는다면, 인터럽트 체크 관련 소스 삭제를 할려고 합니다.)
데이터 시트를 찾아 봐도 확인을 하지 못하여 문의드립니다.
답변 부탁 드립니다.
감사합니다.


#2

TCP UDP 상관없이 인터럽트 사용가능합니다.
물론 위즈네트가 제공하는 example들은 Interrupt 방식을 사용하지 않고, Sn_IR이나 IR을 Polling 하여 처리합니다.
구지 말씀하신 것처럼 Interrupt 필요성이 없다면, Polling으로 구현하시는 것이 구현하시기 편합니다.

TCP에서 발생하던 interrupt가 UDP를 사용하다고 해서 발생하지 않을 이유는 없습니다. 관련 Register(IMR2)가 unmasked되어 있는지 확인바랍니다.


#3

안녕하세요~

UDP는 Connection 동작을 하지 않기 때문에 이에 해당하는 인터럽트(Sn_IR(CON) or Sn_IR(DISCON))는 발생하지 않는것이 맞습니다.하지만 Sn_IR의 SENDOK,RECV,TIMEOUT bit는 TCP와 동일하게 동작합니다.

W5200_DS_V130K.pdf의 "5.2 Data Communications"을 보시면,
TCP/UDP 동작을 확인하실수 있습니다.(Sn_IR관련포함)

thanks:)