WIZnet Developer Forum

W7500 gpio핀 외부 인터럽트 설정관련

w7500 예제 소스코드를 다운받아서 수정하여 외부인터럽트를 제어하려고 하는데요

GPIO_INT_Configuration(GPIOA, GPIO_Pin_0, Rising); // Falling.
NVIC_EnableIRQ(PORT0_IRQn); // GPIOA IRQ enable

이게 GPIO interrupt실습를 통해서 R LED를 제어할때 사용하는 GPIOA_0번 핀 인터럽트 설정코드인데요
버튼 인터럽트를 주고 있는데…PA_00번을 제외하고는 코드 수정후 보드에 올려도 인터럽트에 반응하지 않아요
GPIOA
GPIO_Pin_0
PORT0_IRQn도 핀에 맞게 다 수정하여도 반응이없네요
다른핀들은 외부인터럽트를 수용하게 사용하지 못하는것인가요?
아니면 소스코드의 다른부분 어디를 수정해야 할까요?

W7500 인터럽트관련하여 버그가 있어 8/31에 수정이 이루어진 부분이 있습니다.
먼저 최신 라이브러리로 교체하시기를 부탁드리구요

아마도 버그 때문에 00번만 enable 되어서 00이외의 핀에는 인터럽트 enable이 적용되지 않은 것 같습니다.

추가적으로 말씀드리면 GPIO 인터럽트와 외부인터럽트(EXTI)는 서로 다른 인터럽트 입니다.

먼저 라이브러리 교체해보시고 안되면 GPIO_Read_INTstatus(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 함수를 이용해 인터럽트 status 값을 확인해 보시기 바랍니다.

감사합니다. :slight_smile:

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