w6100 interrupt

I am working on 6100 and running httpserver example. The source code works properly and connection is established.
According to the schematic, pin D9 is the INTn. but in the source code, pin B8 & B1 are set as the interrupt pins. I connected oscilloscope to these pins and all of them were High(Not activated). So:

  1. Which pin exactly shows the interrupt?
  2. How can I get it activated (Low)?

Why do you think the code you are running uses interrupts and not polling?
Please share more information about issue location in schematic and location in source code.

Hi, Thanks for the reply
Actually im not sure if the code uses interrupt at all.
you can see the source code in here.
the schematic (download) shows that INTn pin on w6100 is connected to pD9 on stm 32 however the board configuration in the source code shows that pB1 and pB8 are set as external interrupt.


However i manually set pD9 as external interrupt as well, oscilloscope still shows all these 3 pins High.

I think the answer is in this section of code that handles external interrupt:

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
{
  /* EXTI line interrupt detected */
  if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
  {
    __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
    HAL_GPIO_EXTI_Callback(GPIO_Pin);
  }
}

/**
  * @brief  EXTI line detection callbacks.
  * @param  GPIO_Pin: Specifies the pins connected EXTI line
  * @retval None
  */
__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(GPIO_Pin);
  /* NOTE: This function Should not be modified, when the callback is needed,
           the HAL_GPIO_EXTI_Callback could be implemented in the user file
   */
}

the io6library also has the codes below in wizchip_conf header file that may need to be modified to use the interrupt:

void wizchip_clrinterrupt(intr_kind intr);

/** 
 * @ingroup extra_functions
 * @brief Get Interrupt of @ref _WIZCHIP_.
 * @return @ref intr_kind value operated OR. It can type-cast to uint32_t.
 * @sa ctlwizchip(), CW_GET_INTERRUPT, CW_CLR_INTERRUPT, CW_SET_INTRMASK, CW_GET_INTRMASK
 * @sa wizchip_clrinterrupt(), wizchip_setinterruptmask(), wizchip_getinterruptmask()
 */
intr_kind wizchip_getinterrupt(void);

/** 
 * @ingroup extra_functions
 * @brief Mask or Unmask Interrupt of @ref _WIZCHIP_.
 * @param intr : @ref intr_kind value operated OR. It can type-cast to uint32_t.
 * @sa ctlwizchip(), CW_SET_INTRMASK, CW_GET_INTRMASK, CW_CLR_INTERRUPT, CW_GET_INTERRUPT
 * @sa wizchip_getinterruptmask(), wizchip_clrinterrupt(), wizchip_getinterrupt()
 */
void wizchip_setinterruptmask(intr_kind intr);

/** 
 * @ingroup extra_functions
 * @brief Get Interrupt mask of @ref _WIZCHIP_.
 * @return The operated OR value of @ref intr_kind. It can type-cast to uint32_t.
 * @sa ctlwizchip(), CW_GET_INTRMASK, CW_SET_INTRMASK, CW_CLR_INTERRUPT, CW_GET_INTERRUPT
 * @sa wizchip_setinterruptmask(), wizchip_clrinterrupt(), wizchip_getinterrupt()
 */

So the question is how can i use one of the pins just to see the external interrupt happen?